python初学者,练习模拟用户注册、登录过程,感觉不够精简,请大神指教!
def write_file(username, passwd):
with open("user_passwd.txt", mode="a") as fa:
fa.write("%s: %s\n" %(username,passwd))
def read_file():
u_dict = {}
with open("user_passwd.txt", mode="r") as fr:
for line in fr.readlines():
line = line.split(":")
key = line[0].strip()
value = line[1].strip()
u_dict.update({key: value})
return u_dict
# new user registe
def register():
while True:
username = input("请输入用户名: ").strip()
u_dict = read_file()
if username in u_dict:
print("用户已存在,请重新输入!")
continue
else:
passwd = input("请设置密码: ")
write_file(username, passwd)
print("恭喜您,注册成功!")
break
# old user login
def login():
while True:
username = input("用户名: ").strip()
passwd = input("密码: ")
u_dict = read_file()
# print(u_dict)
if username not in u_dict or passwd != u_dict[username]:
print("用户名或密码错误,请重新输入!")
continue
else:
print("登录成功,欢迎您!")
break
# user interface
def ui():
while 1:
prompt = '''(0) register
(1) login
(2) exit
请输入您的选择(0/1/2): '''
choice = input(prompt)
cmds = {"0": register, "1": login}
if choice not in ["0", "1", "2"]:
print("非法操作,请按要求输入!!!")
continue
if choice == "2":
print("拜拜,欢迎下次光临~")
break
cmds[choice]()
if __name__ == '__main__':
ui()
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: