Python实现猜年龄游戏代码实例

时间:2021-05-22

1. 在猜年龄的基础上编写登录、注册方法,并且把猜年龄游戏分函数处理,如

2. 登录函数

3. 注册函数

4. 猜年龄函数

5. 选择奖品函数

代码如下

import jsonreal_age = 18prize_list = ['好迪洗发水', '绿箭侠', '小猪佩奇', '布娃娃', '再来一次!']import randomuser_prize_dict = {}import osdef register(): while True: username = input('输入用户名>>>(q退出):').strip().lower() if username=='q':break password = input('请输入密码>>>:').strip() re_password = input('请再次确认密码>>>:').strip() if not password == re_password: print('密码不一致,请重输!') continue user_dic = {'name': username, 'password': password} json_user_dic = json.dumps(user_dic) with open(f"{username}.txt", 'w', encoding='utf-8')as f: f.write(json_user_dic) f.flush() print('注册成功!') breakdef login(): count = 0 while True: if count == 3: print('错误输入次数过多!') break username = input('请输入用户名>>>:').strip() if not os.path.exists(username + '.txt'): print('该用户不存在!') continue password = input('请输入密码>>>:').strip() with open(f"{username}.txt", 'r', encoding='utf-8') as f: user_json_dic = f.read() user_dic = json.loads(user_json_dic) if username == user_dic['name'] and password == user_dic['password']: print('登录成功!') guess_age() break else: print('用户名或密码错误!') count += 1def guess_age(): count = 0 print('现在进入猜年龄游戏环节.......\n') while True: count += 1 if count == 4: print('抱歉!你三次都猜错了!') again_guess_age = input('请问是否要继续猜3次(y继续,n退出)>>>:').strip().lower() if again_guess_age == 'y': count = 0 continue break age = input('请输入你的年龄>>>:').strip() if not age.isdigit(): print('请输入纯数字!') continue age = int(age) if age > real_age: print('猜大了!') elif age < real_age: print('猜小了!') else: print('恭喜你!猜对了!\n') choice_prize() breakdef choice_prize(): count = 1 print('进入抽奖环节.....,您共有两次机会!\n 奖品如下:') while True: for index, prize in enumerate(prize_list, 1): print(index, prize) choice = input('请按下按钮y随机选择奖品>>>:').strip().lower() if not choice == 'y': print('非法输入!') continue prize_choice = random.randint(1, 15) if prize_choice in [6, 7, 8]: prize_choice = 4 elif prize_choice in [9, 10, 11, 12, 13, 14, 15]: prize_choice = 5 prize = prize_list[prize_choice - 1] if prize in user_prize_dict: user_prize_dict[prize] += 1 else: user_prize_dict[prize] = 1 print(f'本次获得奖品为:{prize},您还有{2-count}次机会!\n') if count == 2: if user_prize_dict.get('再来一次!'): user_prize_dict.pop('再来一次!') print(f'总共获得的奖品为:{user_prize_dict}') break count += 1user_func_dic = { '1': register, '2': login,}while True: print(''' 先注册,登陆后才能玩猜年龄游戏哦! 1. 注册 2. 登录 ''' ) choice = input('请选择功能编号(q退出)>>>:').strip().lower() if choice == 'q' : break if not choice in user_func_dic: print('错误输入') continue user_func_dic.get(choice)()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章