defprint_longin():print("1.登录")print("2.注册")print("3.退出")
a =int(input("请输入:"))if a in[1,2,3]:return a
else:print("抱歉呢,我们没有该功能")defwith_open_write(user, password):"""用来实现写入账户和密码"""
aa ={user: password}
a =f"{aa}"+'\n'withopen("user_password.txt",'a+', encoding="utf-8")as f:
f.write(str(a))defwith_open_read():"""用于读取所有的账户"""withopen("user_password.txt","a+", encoding="utf-8")as f:
f.seek(0)# 指针移动到开头
user_list = f.readlines()# 读取所有行print(user_list)if user_list:# 判断是否为空return user_list # 返回用户列表else:returnFalsedefif_user(user):"""该模块用于实现判断账户是否存在, 需要传入用户名,和用户列表"""
user_list = user1()if user_list:# 判断用户是否为空if user notin user_list:# 判断输入的用户是否存在returnTrueelse:returnFalseelse:return1defdict_user_password():
d =[]
a = with_open_read()if a:for i in a:
b =eval(i)
d.append(b)return d
else:returnFalsedefuser1():""""提取所有的用户名"""
a =[]
user_list = dict_user_password()if user_list:for i inrange(len(user_list)):# 循环用户个数的次数
aa = user_list[i]
user =[i for i in aa]
a.append(user[0])return a
defpassword2(user, password):""""用于判断密码的正确与否, 使用需要输入用户名和密码"""
userlist = dict_user_password()# 获取用户名和密码对应的字典for i inrange(len(userlist)):# 循环用户个数的次数找寻密码
password_nei =(userlist[i]).get(user)if password_nei == password:returnTrueelse:returnFalsedeflongin():"""用来实现登录功能, 需要传入用户名列表"""print("欢迎来到登录界面")
dict_user = with_open_read()if dict_user:
user =input("请输入账户名:")ifnot if_user(user):
password =input("请输入密码:")if password2(user, password):print("登录成功")else:print("密码错误")else:print("该账户不存在,请换个账户或注册")else:print("抱歉您好像还没有注册呢")defzhuce():""""用来实现登录功能"""print("欢迎来到注册界面:")
user =input("请输入账户名:")
a = if_user(user)
t_f = a
if t_f ==1:# 判断是否为空
password =input("请输入密码(1 - 12 位):")if1<=len(password)<=12:
with_open_write(user, password)else:print("抱歉喔,密码格式不对")else:if t_f:
password =input("请输入密码:")print("ksjdkfjkd")
with_open_write(user, password)else:print("抱歉,该账户已经存在")
import main # 导入模块
a =Truewhile a:
choose = main.print_longin()if choose ==1:
main.longin()elif choose ==2:
main.zhuce()elif choose ==3:
a =Falseelse:print("抱歉请输入整数(1, 2,3)")