a.txt
apple 5999
key 299
book 99
pen 9
user_info.txt
xzl xzl123
wcl wcl123
xzlwcl 520
sb sb123
# 注册
register_choice = input('是否需要注册,需要按y,不需要按Enter》》》')
if register_choice == 'y':
print('已开启注册功能')
while True:
name_inp = input('输入你的用户名》》》')
psw_inp = input('输入你的密码》》》')
# 取出user_info.txt中文件用户与密码放入字典中
user_dict = dict()
with open(r'user_info.txt', 'r', encoding='utf8') as fr:
for user in fr:
user_list = user.strip().split(' ')
user_dict[user_list[0]] = user_list[1]
# 判断用户名是否已被注册
if name_inp not in user_dict:
# 将注册的用户名和密码写入user_info.txt文件中
with open(r'user_info.txt', 'a', encoding='utf8') as fa:
fa.write(f'\n{name_inp} {psw_inp}')
print('注册成功,请登录')
break
else:
print('用户已存在,重新输入用户名')
#登录
count_login = 0
while count_login < 3:
name_login = input('输入你的用户名》》》')
psw_login = input('输入你的密码》》》')
# 取出user_info.txt中文件用户与密码放入字典中
user_dict = dict()
with open(r'user_info.txt', 'r', encoding='utf8') as fr:
for user in fr:
user_list = user.strip().split(' ')
user_dict[user_list[0]] = user_list[1]
# 将登录信息与user_info.txt中文件相比对
if name_login in user_dict and psw_login == user_dict.get(name_login):
print('登录成功')
break
else:
print('登录失败,重新登录')
count_login += 1
if count_login == 3:
print('登录失败3次,被锁定登录不了')
#游戏
# import random
# age=random.randint(1,100)
age = 18
count = 0
while count < 3:
age_inp = input('请输入猜的年龄》》》')
# 误输入的不是数字
if not age_inp.isdigit():
print('sb,输入数字')
continue
# 正确输入数字
age_inp = int(age_inp)
if age_inp == age:
print('猜对了,请领取下列一个奖品:')
# 从a.txt文件中取出奖品放入字典中
prize_dict = dict()
with open(r'a.txt', 'r', encoding='utf8') as fr:
for k, v in enumerate(fr):
prize_dict[k] = v.split(' ')[0]
while True:
print(prize_dict)
# 从字典中拿奖品
prize_choice = input('请输入奖品对应的数字:')
if not prize_choice.isdigit():
print('sb,输入数字领奖品')
continue
prize_choice = int(prize_choice)
print(f'恭喜获得奖品:{prize_dict[prize_choice]}')
break
break
elif age_inp < age:
print('猜小了')
else:
print('猜大了')
count += 1
# 猜3次之后是否继续玩
if count==3:
game_choice=input('是否继续玩,继续按y,退出按Enter:')
if game_choice == 'y':
count = 0
D:\anaconda3\envs\learn\python.exe D:/pythonproject_learn/day10/最后一次复习猜年龄.py
是否需要注册,需要按y,不需要按Enter》》》y
已开启注册功能
输入你的用户名》》》xzl
输入你的密码》》》xz
用户已存在,重新输入用户名
输入你的用户名》》》sb
输入你的密码》》》sb123
注册成功,请登录
输入你的用户名》》》sb
输入你的密码》》》sdf
登录失败,重新登录
输入你的用户名》》》sb
输入你的密码》》》sb123
登录成功
请输入猜的年龄》》》20
猜大了
请输入猜的年龄》》》0
猜小了
请输入猜的年龄》》》owk
sb,输入数字
请输入猜的年龄》》》19
猜大了
是否继续玩,继续按y,退出按Enter:y
请输入猜的年龄》》》18
猜对了,请领取下列一个奖品:
{0: 'apple', 1: 'key', 2: 'book', 3: 'pen'}
请输入奖品对应的数字:edf
sb,输入数字领奖品
{0: 'apple', 1: 'key', 2: 'book', 3: 'pen'}
请输入奖品对应的数字:0
恭喜获得奖品:apple
Process finished with exit code 0
标签:一次,复习,inp,dict,user,print,年龄,txt,输入
From: https://www.cnblogs.com/xzlwcl/p/17930656.html