根据老男孩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')