注册登录页面
实现以下效果:
"""
1.持久化的数据:所有已经注册过的账号
2.设计文件:files/userInfo.txt
方案1:{用户名1: 密码1, 用户名2: 密码2,...}
方法2:[{'username': 用户名1, 'pw': 密码1}, {'username':用户名2, 'pw': 密码2}, ....]
"""
def read_file(file_path):
try:
with open(file_path, 'r', encoding='utf-8') as f:
return f.read()
except FileNotFoundError:
return None
def register():
# 1. 提示用户输入账号和密码
username = input('请输入账号:')
password = input('请输入密码:')
# 2. 判断账号是否已经注册过
# 1)获取所有已经注册过的账号
result = read_file('files/userInfo.txt')
if result:
all_user = eval(result)
else:
all_user = []
# 2)判断输入账号是否在已经注册过的账号中
for user in all_user:
if user['username'] == username:
print('注册失败!该账号已存在!')
return
# 3. 完成注册
all_user.append({'username': username, 'pw': password})
with open('files/userInfo.txt', 'w', encoding='utf-8') as f:
f.write(str(all_user))
print('注册成功!')
def login():
# 1. 输入账号和密码
username = input('请输入账号:')
password = input('请输入密码:')
# 2. 判断是否登录成功
# 1)获取已经注册过的用户信息
result = read_file('files/userInfo.txt')
if not result:
print('登录失败!该账号不存在!')
return False
# 2)判断用户名是否已经注册并且输入的密码和保存密码是否一致
all_user = eval(result)
for user in all_user:
if user['username'] == username:
if user['pw'] == password:
print('登录成功!')
return True
else:
print('登录失败!密码错误!')
return False
print('登录失败!该账号不存在!')
return False
def main_page():
page = read_file('files/mainPage.txt')
while True:
# 1. 打印主页内容
print(page)
# 2. 给出选择
value = input('请选择(1~3):')
# 3. 根据不同的选择程序做出不同的反应
if value == '1':
result = login()
if result:
break
elif value == '2':
register()
else:
exit() # 退出程序
# return
print(read_file('files/succeed.txt'))
if __name__ == '__main__':
main_page()
mainPage.txt
++++++++++++++++++++++++++++++++++++
&&&& 欢迎来到花花幼儿园登录系统 &&&&
❤❤ 1.登录 ❤❤
❤❤ 2.注册 ❤❤
❤❤ 3.退出 ❤❤
+++++++++++++++++++++++++++++++++++++
successed.txt
++++++++++++++++++++++++++++++++++++
### 登录成功 ###
+++++++++++++++++++++++++++++++++++++