根据老男孩Python全栈工程师视频教程的作业,利用python写一个登陆小程序,要求用户最多输入3次密码,若3次密码都错误即锁定用户名,无法再次登陆。
思路:利用for循环3次,利用if判断登录密码是否正确,若3次密码都错误的话,将这个用户名写入到锁定用户名文件中。下次登陆时,先检查用户名是否在锁定用户名文件中,若在,则显示“用户已锁定”,退出程序。
脚本如下:
1 import os
2 import sys
3
4 user = 'czg' # 正确的用户名
5 password = 'ium123' # 正确的密码,当用户名和密码有多个是,应该用字典表示的
6 usr = input('Please input user:')
7 # 读取用户锁定文件,查看输入的用户名是否在锁定用户内
8 file = r'E:\test\python\user_locked.txt' # 锁定用户名文件
9 if os.path.isfile(file):
10 with open(file, "r+") as f:
11 s = f.readlines()
12 for str in s:
13 if usr + '\n' == str:
14 print('Sorry, the user ' + usr + ' is locked!')
15 sys.exit(0)
16
17 for i in range(3):
18 count = i + 1
19 pwd = input('Please input password:')
20 if usr == user:
21 if pwd == password:
22 print('Welcome ' + usr)
23 break
24 else:
25 print('The user or password is wrong')
26 else:
27 print('The user or password is wrong')
28
29 if count == 3:
30 with open(file, "a+") as f:
31 f.write(usr+'\n')
















