一、程序简述
1.实现将账户信息存入磁盘,使下次打开程序,可以登录之前录入的账户。
2.未找到账号将报错并重输。
3.如果密码输入错误三次,程序退出(简单模仿常用软件的登录保护机制)
二、程序实现(刚学python时的练手程序,当做参考即可)
save_user_name = 'user_name.txt'
save_user_pw = 'user_pw.txt'
while True:
UI_show='''
------------用户管理------------
1.录入用户信息
2.登录入口
3.输入其他退出程序
'''
print(UI_show)
user_select = int(input("请选择需要的选项:"))
flag = True
if user_select == 1:
print("用户(账号为0输入结束)")
while flag:
user_name_save1 = input("账号:")
username = user_name_save1
if username == '0':
flag = False
break
with open(save_user_name, 'a') as f:
f.write(user_name_save1)
f.write("\n")
with open(save_user_pw, 'a') as m:
m.write(input("密码:"))
m.write("\n")
# with 语块结束后,解释器将会自动关闭文件,所以此时不必手动关闭,即f.close()
elif user_select == 2:
with open('user_name.txt') as f:
user_name_list = f.read().splitlines()
with open('user_pw.txt') as w:
user_pw_list = w.read().splitlines()
user_dict = dict(map(lambda x, y: [x, y], user_name_list, user_pw_list))
print(user_dict)
j = 0
print("\t\t登录入口")
while flag:
while flag:
user_name_put = input("请输入账号(输入0返回上一层):")
if user_name_put == '0':
flag = False
break
user_name_get = user_dict.get(user_name_put, 0)
if user_name_get == 0:
print("无此账号,请重新输入....")
continue
else:
while flag:
while flag:
user_pw_put = input("请输入密码:")
if user_pw_put == user_name_get:
exit("\n***密码正确,登录成功!***")
else:
j += 1
if j < 3:
print("密码错误,请重新输入.....")
continue
else:
print("密码输入错误三次,程序退出!!\n\n")
flag = False
else:
exit("\n欢迎下次使用!")