1 # _*_ coding:utf-8 _*_
2
3 """
4 1. 三次登录验证
5 完成⽤户登录验证
6 要求:
7 1. 系统⾃动⽣成4位随机数. 作为登录验证码. 直接⽤就好. 这里不用纠结
8 from random import randint
9 num = 0
10 verify_code = ""
11 while num < 4:
12 verify_code += chr(randint(65, 90))
13 num += 1
14 print(verify_code) # 四位随机验证码
15
16 2. ⽤户输入⽤用户名和密码还有验证码.
17 3. 用户可以有三次登录的机会. 但是验证码如果输入错误. 不计算在内
18 程序实现:验证码和用户名,密码一起输入,但是首先判断验证码,在验证码正确的前提下,用户名或密码的错误才算在三次之内,否则归咎于验证码错误.
19
20 """
21 from random import randint
22
23 uname = 'alex'
24 upsw = 'abc'
25
26 count = 0
27 while 1:
28
29 # 用户登录
30 while count < 3:
31 # 生成验证码,每次重新输入都要更新验证码
32 num = 0
33 verify_code = ""
34 while num < 4:
35 verify_code += chr(randint(65, 90)) # 大写字母的 ASCII 码
36 num += 1
37 print('验证码:' + verify_code) # 四位随机验证码
38
39 code = input('请输入验证码:').strip().upper()
40 name = input('请输入用户名:').strip()
41 password = input('请输入密码:').strip()
42 if code == verify_code:
43 if name == uname and password == upsw:
44 print('登录成功')
45 exit() # 退出整个程序
46 else:
47 print('用户名或密码错误')
48 count += 1
49 continue # 继续3次以内的循环
50 else:
51 print('验证码错误,请重新输入')
52 break # 跳出内层的 while循环
53 else: # 输错三次
54 print('输错三次,无法登录')
55 break # 跳出外层的 while 循环