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

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

本文标题: Python实现猜年龄游戏代码实例

本文地址: http://www.cppcns.com/jiaoben/python/303789.html

python文字游戏源代码求年纪_Python实现猜年龄游戏代码实例相关推荐

  1. python文字游戏源代码妈妈和我年纪_Python实现猜年龄游戏代码实例

    1. 在猜年龄的基础上编写登录.注册方法,并且把猜年龄游戏分函数处理,如 2. 登录函数 3. 注册函数 4. 猜年龄函数 5. 选择奖品函数 代码如下 import json real_age = ...

  2. python猜年龄代码_Python实现猜年龄游戏代码实例

    1. 在猜年龄的基础上编写登录.注册方法,并且把猜年龄游戏分函数处理,如 2. 登录函数 3. 注册函数 4. 猜年龄函数 5. 选择奖品函数 代码如下 import json real_age = ...

  3. python编写猜数游戏代码、如果不是整数、显示输入错误_python编写猜数游戏代码、如果不是整数、显示输入错误_数字炸弹游戏程序 用python来实现......

    相信许多小伙伴都玩过数字炸弹游戏,就是指在一定数字范围(一般是整数,不包含边界)里,一个玩家选中一个数字当作炸弹,其余玩家在这个范围含数字,每次只要没猜中炸弹数字,则根据玩家猜的数字缩小范围,直至其中 ...

  4. python定义变量并赋值_Python动态声明变量赋值代码实例

    这篇文章主要介绍了Python动态声明变量赋值代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 通过exec().globals()和loca ...

  5. 获取python脚本的返回值_Python多线程获取返回值代码实例

    这篇文章主要介绍了Python多线程获取返回值代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在使用多线程的时候难免想要获取其操作完的返回值 ...

  6. python爬虫40个项目_python三个爬虫项目代码实例

    本篇文章小编给大家分享一下python三个爬虫项目代码实例,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 爬取内涵段子: #encoding=utf-8 import ur ...

  7. python进度条设计函数_Python进度条的制作代码实例

    这篇文章主要介绍了Python进度条的制作代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 import sys,time #导入模块 for ...

  8. python制作进度条显示_Python进度条的制作代码实例

    这篇文章主要介绍了Python进度条的制作代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 import sys,time #导入模块 for ...

  9. PHP代码猜数字游戏,基于JavaScript实现猜数字游戏代码实例

    环境 vscode 1.46 Microsoft Edge 83 示例 以下内容为了解和熟悉 JavaScript,不需要理解,能够复制粘贴并正确运行即可. 新建网页模板 在 vscode 中新建一个 ...

最新文章

  1. 静态分析C语言生成函数调用关系的利器——cflow
  2. QA: What's the difference between CustomControl and UserControl?
  3. vc6.0中添加快捷注释
  4. 直播预告丨行业大咖带你找到游戏企业经营新升级的正确打开方式
  5. MySQL对in里面数据进行指定排序:order by field
  6. 原生JS实现移动端模块的左右滑动切换效果,基于vue、stylus
  7. 转载标明出处用英语_英语原版阅读:At the beach
  8. eclipse maven 构建简单springmvc项目
  9. mysql5.7 存储二进制_mysql5.7二进制部署
  10. 收款神器!解读聚合收款码背后的原理,你都知道吗?
  11. QT控件出现乱码问题
  12. 一个人长途自驾旅行需要注意什么?
  13. java 除以2_Java最快速的算出乘2 和除2的结果
  14. ==、Equals 、ReferenceEquals它们的异同
  15. VS2010 如何调试进(step into)项目引用的第三方开源源代码,比如Qt源码
  16. FileZilla 服务器 报Warning: FTP over TLS is not enabled, users cannot securely log in.
  17. 对自己狠一点,离成功近一点
  18. 十字军之王3Crusader Kings III mac中文
  19. 【解救Ros】CLB的Ros小车imu校正,角速度校正,线速度校正过程
  20. Ax、Bx、Cx、Dx、AL、BL、CL、DL、AH、BH、CH、DH

热门文章

  1. 怎么保证读取最新数据_Kafka怎么保证数据不丢失?
  2. byte数组转为string_String类
  3. 【算法图解|2】JavaScript 如何实现数组扁平化
  4. Git教程学习总结(分享给热爱学习的你,团队的协作离不开你呀)
  5. mongo-express 远程代码执行漏洞(CVE-2019-10758)
  6. 多线程写mysql数据库_多线程读写mysql数据库
  7. CSS实现垂直居中的方法
  8. 【WXS数据类型】Array
  9. JS_理解函数参数按值传递
  10. 消除switch语句以获得更好的代码结构