编写登陆认证程序:
基础需求:
让用户输入用户名密码
认证成功后显示欢迎信息
输错三次后退出程序
升级需求:
可以支持多个用户登录 (提示,通过列表存多个账户信息)
用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里)
black_user是建立的空txt文件
user_info = {
'mary': {'password': '123456'},
'tom': {'password': '12356'},
'jerry': {'password': '123456'},
}
f = open('black_user')
user = f.readlines()
lock_user = []
for i in user:
i = i.strip()
lock_user.append(i)
#print('锁定用户',lock_user)
f.close()
count = 0
count1 = 0
while 1:
username = input('请输入用户名')
# password = input('请输入密码')
if username in lock_user:
print('该用户已被锁定')
exit(0)
if not username in user_info:
print('请输入正确的用户名')
if count == 2:
print('输入次数已达上限,即将退出')
exit(0)
else:
while count1 < 3:
password = input('请输入密码')
if password == user_info[username]['password']:
print('welcome',username)
exit(0)
else:
print('密码错误,请重新输入')
count1 += 1
continue
if count1 == 3:
print('密码输入错3次,该用户将被锁定')
f = open('black_user','a')
# lock_user = readlines()
f.write('%s\n' % (username))
exit(0)
count += 1
运行程序
请输入用户名mary
请输入密码12
密码错误,请重新输入
请输入密码123
密码错误,请重新输入
请输入密码123
密码错误,请重新输入
密码输入错3次,该用户将被锁定
再次运行程序
结果为:
请输入用户名mary
该用户已被锁定