python-用户登录小程序
作者:互联网
这个只是随便写写,估计还有错误,可我不想去改,如果有错误,有缘人就改了吧!
1.根据文件内的用户名来判断。 2.如果存在,会让输入密码,然后显示登陆成功, 3.如果不存在,则会让新建用户,但是我没有做检查,如果新建的用户和文件内的数据重叠,则会覆盖原文件,这个时候你可以加一个判断,如果该用户已经存在,就不让新建。 4.输入用户后,则会检查“state”,如果不为“0“,则为锁定状态。 5.输入密码超过四次,则会锁定。
__author__ = 'Administrator' def user(break_false=True,count=0): with open("user_data","r+",encoding="utf_8") as f: user_eval=eval(f.read()) print("\033[31m****欢迎来到登录界面****\033[0m") while break_false: username=input("\033[32m输入您的用户名:\033[0m") if username in user_eval: if user_eval[username]["state"] =="0": while break_false: password=input("\033[32m输入您的密码:\033[0m") if password ==user_eval[username]["passwd"]: print("\033[31m登录成功...\033[0m") else: print("\033[31m密码错误,请重新输入...\033[0m") if count == 3: print("\033[31m密码错误次数过多,已锁定,请联系管理员...\033[0m") user_eval[username]["state"]="1" f.seek(0) f.write(str(user_eval)) f.flush() break_false=False count +=1 else: print("\033[31m该账户已被锁定,请联系管理员...\033[0m") break_false=False else: choise=input("\033[31m该账户不存在,是否新建[Y/N]...\033[0m") if choise =="y" or choise=="Y": New_Construction() exit() else: print("\033[31m已退出...\033[0m") break_false=False def New_Construction(state="0"): with open("user_data","r+",encoding="utf_8") as f1: New_user=eval(f1.read()) print("\033[31m****欢迎来到新建用户界面****\033[0m") new_username=input("\033[32m输入您的用户名:\033[0m") new_password=input("\033[32m输入您的密码:\033[0m") New_user[new_username]={"passwd":new_password,"state":state} f1.seek(0) f1.write(str(New_user)) f1.flush() print("\033[31m****新建用户成功****\033[0m") user()
标签:eval,登录,python,用户,user,31m,print,033,0m 来源: https://www.cnblogs.com/Yzhao/p/12800188.html