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

作者:jueyuanfengsheng 时间:2021-01-17 09:53:04 

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

2. 登录函数

3. 注册函数

4. 猜年龄函数

5. 选择奖品函数

代码如下


import json
real_age = 18
prize_list = ['好迪洗发水', '绿箭侠', '小猪佩奇', '布娃娃', '再来一次!']
import random
user_prize_dict = {}
import os

def 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('注册成功!')
     break

def 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 += 1

def 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()
     break

def 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 += 1

user_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)()

来源:https://www.cnblogs.com/zhangchaocoming/p/11552787.html

标签:Python,猜年龄,游戏
0
投稿

猜你喜欢

  • python中的tcp示例详解

    2021-06-21 21:09:46
  • Quickwork For Asp -实战之后台管理

    2009-12-31 19:13:00
  • Anaconda+VSCode配置tensorflow开发环境的教程详解

    2021-04-03 09:47:32
  • Python判断以什么结尾以什么开头的实例

    2021-07-31 06:42:58
  • Python NumPy教程之数据类型对象详解

    2022-03-29 09:05:19
  • python 利用zmail库发送邮件

    2023-02-25 11:06:03
  • vuex新手进阶篇之actions的使用方法

    2024-04-27 16:13:54
  • 几个常见的MySQL的可优化点归纳总结

    2024-01-13 11:32:14
  • Python Django中的STATIC_URL 设置和使用方式

    2021-08-07 13:39:06
  • PyQt5+QtChart绘制散点图

    2023-02-27 01:50:43
  • Python爬虫爬取博客实现可视化过程解析

    2023-12-16 08:58:33
  • 如何将yolov5中的PANet层改为BiFPN详析

    2023-08-12 18:08:38
  • pymysql模块的操作实例

    2024-01-28 16:27:45
  • python开根号实例讲解

    2022-10-03 12:29:07
  • 设计72变——寻求banner制作的变化

    2009-11-12 12:56:00
  • Python数据可视化Pyecharts库实现桑葚图效果

    2022-01-05 23:39:44
  • 发一新浪招聘的图片滚动控制JS效果

    2011-08-10 19:17:25
  • Python 的描述符 descriptor详解

    2021-03-04 21:14:17
  • OpenAI的Whisper模型进行语音识别使用详解

    2022-02-24 23:50:51
  • pytorch常见的Tensor类型详解

    2022-10-25 19:34:01
  • asp之家 网络编程 m.aspxhome.com