# 要求:
# 登录之后,才能游戏。3次登录机会。
# 猜年龄,3次机会。失败后可以选择是否继续。
# 猜对后可以领取奖品。两次。不领取可以直接退出
user_info = {
'username': 'nick',
'pwd': '123',
'login_status': False
}
age = 18
login_count = 3
guess_count = 3
prize_count = 2
prize_list = {
0: 'buwawa',
1: 'aoteman',
2: 'python从入门到放弃'
}
while login_count:
username = input('请输入账号:').strip()
pwd = input('请输入密码:').strip()
if username == user_info['username'] and pwd == user_info['pwd']:
print('登录成功')
user_info['login_status'] = True
break
else:
login_count -= 1
print(f'登录失败,你还有{login_count}次机会,请重新输入账号密码。')
if user_info['login_status']:
while guess_count:
inp_age = input('请输入你猜想的年龄:').strip()
if not inp_age.isdigit():
guess_count -= 1
print(f'你还有{guess_count}次机会。请输入数字')
continue
inp_age = int(inp_age)
if inp_age != age:
guess_count -= 1
print(f'猜错了。你还有{guess_count}次机会。')
if not guess_count:
choice1 = input('继续输入‘y’或‘Y’,退出输入其他字符')
if choice1 in ['y', 'Y']:
guess_count = 3
continue
break
continue
else:
print('恭喜你猜对了。你可以从下列奖品中领取两份。')
while prize_count:
print(f"""奖品列表:
{prize_list}
输入不存在的序号或者非数字时,将直接退出。
""")
choice2 = input('请输入你想领取的奖品的序号:').strip()
if not choice2.isdigit():
print('退出')
break
choice2 = int(choice2)
if choice2 not in prize_list.keys():
print('退出')
break
print(f'你领取了{prize_list[choice2]}。')
prize_count -= 1
break