作业一要求:
1 输入用户名密码
2 认证成功后显示欢迎信息
3 输错三次后锁定
import os #生成保存用户信息的字典 d_userinfo = {} #保存用户登录字典 input_login_username = {} #保存锁定用户列表 lock_user = [] #从userinfo中获取用户登录信息:用户名称、口令 userinfo_file = open("userinfo", "r") #将用户信息添加到d_userinfo字典中 for line in userinfo_file.readlines(): _userinfo = line.replace(" ","").split("|"); #将用户添加到字典中 d_userinfo.update({_userinfo[0]:_userinfo[1]}) #关闭文件 userinfo_file.close() #获取锁定用户 lockinfo = open("lockinfo", "r") #将锁定用户添加到锁定列表中 for line in lockinfo.readlines(): lock_user.append(line.replace(" ", "")) lockinfo.close() #用户开始登录 input_count = 0 i_username = "" while input_count < 3: input_count += 1 i_username = input("Please enter your name:") i_passowrd = input("Please enter you password:") #判断用户输入是否为空 if len(i_username) == 0 : print("用户名称不能为空,请输入用户名称!") continue #判断用户是否已锁定 if i_username in lock_user: print("用户已锁定!") break #先判断用户字典表中是否有该用户 if d_userinfo.get(i_username): #判断用户口令是否一致 if i_passowrd==d_userinfo.get(i_username): print("Hello {name}!".format(name=i_username)) break else : #说明用户输入的用户名称正确,但口令不对 print("用户口令错误!") else : #说明用户输入的用户名称不正确 print("用户名称或口令输入错误!") #将登录输入的用户名称保存到输入登录用户字典中 input_login_username.setdefault(i_username, i_username) else : if len(input_login_username) == 1 : # 锁定用户 print("锁定用户") #"a"表示追加方式写 fo = open("lockinfo", "a") fo.write(i_username+" ") fo.close() else : #输入三次用户名称或口令都不正确,退出登录 print("输入3次都不正确,再见!")