使用上一篇文章中的版本三,使用循环来同时实现用户的注册与登录,
当程序结束,在进行运行时,还需要对用户进行重新注册,因此,使用文件操作,将注册的用户信息写入文件进行保存,当程序重启时,之前注册过的用户便不需要重新进行注册,可以直接进行执行
版本四(使用文件保存用户信息)
# 注册
def register():
with open("login.txt",mode="a",encoding="utf-8") as file_register:
while True:
username = input("输入用户名:")
if not len(username):
print("用户名不能为空")
continue
elif username.upper() =="Q":
break
else:
password = input("输入密码:")
if not len(password):
print("密码不能为空:")
else:
line ="{}|{}\n".format(username,password)
file_register.write(line)
file_register.flush()
#登录
def login():
with open("login.txt",encoding="utf-8") as file_login:
flag = False
while True:
name = input("请输入用户名:")
if name.upper() == "Q":
break
passwd = input("请输入密码:")
for line_login in file_login:
name_str,passwd_str = line_login.strip().split("|")
if name == name_str and passwd == passwd_str:
flag = True
if flag:
print("登录成功")
break
else:
print("账号或密码错误")
#逻辑处理
def index():
list_func = [ register , login ]
print("1:注册")
print("2:登录")
while True:
choice = int(input("输入你要执行的操作:"))
if choice >= 1 and choice <= 2:
list_func[choice-1]()
if choice == 1:
continue
else:
break
else:
print("该服务未开启")
if __name__ == '__main__':
index()