python实战之90行代码写个猜数字游戏
作者:啥也不是:) 发布时间:2023-05-24 21:14:49
标签:python,猜数字,小游戏
一、导入库
import random
import time
二、注册用户
我们用变量与input实现
name = str(input('请输入用户名:'))
print('欢迎您,'+name)
三、注册年龄
这里我们得用except制作乱输文本就游戏结束的程序
乱输文本就结束
try:
age = int(input('请输入年龄:'))
except ValueError:
print('非法输入')
age = 30000
顺便把年龄设为30000[滑稽]
再根据年龄大小分配金币
四、分配金币
if age <10:
gold = 500
print('您的初始金币为500')
if age <20 and age >10:
gold = 1000
print('您的初始金币为1000')
if age >20 and age <30:
gold = 1500
print('您的初始金币为1500')
if age >30 and age <1000:
gold = 200
print('年龄过大,您的初始金币为200')
用if语句保证金币小于10000,如果等于10000,游戏结束
五、if判断 1
if gold !=10000:
Game_start = str(input('是否开始游戏?(True或False)'))
while gold !=10000:
接下来就是最重要的游戏部分了,认真!
我们还得用if语句判断Game_start变量为True,并创建一个随机数列表
六、if与随机数
if Game_start =='True':
list_123 = [random.randint(1,6),random.randint(1,6),random.randint(1,6),]
while list_123 ==10:
list_123 = [random.randint(1,6),random.randint(1,6),random.randint(1,6),]
然后设定回答变量和正确答案与错误答案
七、回答、正确与错误
answer = str(input('请猜数(big或small):'))
if list_123[0] + list_123[1] + list_123[2] >10:
result = 'big'
error_result = 'small'
if list_123[0] + list_123[1] + list_123[2] <10:
result = 'small'
error_result = 'big'
还得用if语句判断正确、错误与非法输入的答案
八、if判断 2
if answer ==result:
print('您赢了!')
gold = gold + 100
print('随机数为'+str(list_123))
print('您现在有'+str(gold)+'金币')
elif answer ==error_result:
print('您输了...')
print('随机数为'+str(list_123))
gold = gold - 100
print('您现在有'+str(gold)+'金币')
else:
print('非法输入')
gold = 10000
再制作购买道具的模块
太长了我懒得写一句一句解析
九、购买道具
if gold ==2000 or gold ==3000 or gold ==4000 or gold ==5000 or gold ==6000 or gold ==7000 or gold ==8000 or gold ==9000:
answer = str(input('您现在可以购买道具,是否购买?(True或False):'))
if answer =='True':
print('请说出要购买der道具')
print('*'*41)
print('*金币翻倍器[现有的] 金币翻倍器[得到的]*')
print('* 2000G 1500G *')
print('*'*41)
answer = str(input('请说出要购买der道具(金币翻倍器[现有的]说1,金币翻倍器[得到的]说2):'))
if gold >2000 and answer =='1':
gold = gold - 2000
answer = int(input('请说出要翻der倍数:'))
gold = str(gold * answer)
print('您现在有'+gold+'金币')
gold = int(gold)
elif gold >1500 and answer =='2':
gold = gold - 1500
answer = int(input('请说出要翻der倍数:'))
gold_mang = 100 * answer
gold = gold + gold_mang
print('您现在有'+str(gold)+'金币')
gold = int(gold)
else:
print('没有这个道具,游戏结束')
gold = 10000
elif answer =='False':
print('继续游戏')
else:
print('非法输入')
gold = 10000
我写到一半发现没有把上面的桥接上,所以现在来桥接
十、桥接
import random
import time
name = str(input('请输入用户名:'))
print('欢迎您,'+name)
try:
age = int(input('请输入年龄:'))
except ValueError:
print('非法输入')
age = 30000
gold = 10000
if age <10:
gold = 500
print('您的初始金币为500')
if age <20 and age >10:
gold = 1000
print('您的初始金币为1000')
if age >20 and age <30:
gold = 1500
print('您的初始金币为1500')
if age >30 and age <1000:
gold = 200
print('年龄过大,您的初始金币为200')
if gold !=10000:
Game_start = str(input('是否开始游戏?(True或False)'))
while gold !=10000:
if Game_start =='True':
list_123 = [random.randint(1,6),random.randint(1,6),random.randint(1,6),]
while list_123 ==10:
list_123 = [random.randint(1,6),random.randint(1,6),random.randint(1,6),]
answer = str(input('请猜数(big或small):'))
if list_123[0] + list_123[1] + list_123[2] >10:
result = 'big'
error_result = 'small'
if list_123[0] + list_123[1] + list_123[2] <10:
result = 'small'
error_result = 'big'
if answer ==result:
print('您赢了!')
gold = gold + 100
print('随机数为'+str(list_123))
print('您现在有'+str(gold)+'金币')
elif answer ==error_result:
print('您输了...')
print('随机数为'+str(list_123))
gold = gold - 100
print('您现在有'+str(gold)+'金币')
else:
print('非法输入')
gold = 10000
if gold ==2000 or gold ==3000 or gold ==4000 or gold ==5000 or gold ==6000 or gold ==7000 or gold ==8000 or gold ==9000:
answer = str(input('您现在可以购买道具,是否购买?(True或False):'))
if answer =='True':
print('请说出要购买der道具')
print('*'*41)
print('*金币翻倍器[现有的] 金币翻倍器[得到的]*')
print('* 2000G 1500G *')
print('*'*41)
answer = str(input('请说出要购买der道具(金币翻倍器[现有的]说1,金币翻倍器[得到的]说2):'))
if gold >2000 and answer =='1':
gold = gold - 2000
answer = int(input('请说出要翻der倍数:'))
gold = str(gold * answer)
print('您现在有'+gold+'金币')
gold = int(gold)
elif gold >1500 and answer =='2':
gold = gold - 1500
answer = int(input('请说出要翻der倍数:'))
gold_mang = 100 * answer
gold = gold + gold_mang
print('您现在有'+str(gold)+'金币')
gold = int(gold)
else:
print('没有这个道具,游戏结束')
gold = 10000
elif answer =='False':
print('继续游戏')
else:
print('非法输入')
gold = 10000
其实到这里我们就基本完成了,但如果只写到这里会有很多bug,不想看了也可以就玩这个版本
还剩了一些代码,我也懒得写了,直接完整代码
十一、完整代码
import random
import time
name = str(input('请输入用户名:'))
print('欢迎您,'+name)
try:
age = int(input('请输入年龄:'))
except ValueError:
print('非法输入')
age = 30000
gold = 10000
if age <10:
gold = 500
print('您的初始金币为500')
if age <20 and age >10:
gold = 1000
print('您的初始金币为1000')
if age >20 and age <30:
gold = 1500
print('您的初始金币为1500')
if age >30 and age <1000:
gold = 200
print('年龄过大,您的初始金币为200')
if gold !=10000:
Game_start = str(input('是否开始游戏?(True或False)'))
while gold !=10000:
if Game_start =='True':
list_123 = [random.randint(1,6),random.randint(1,6),random.randint(1,6),]
while list_123 ==10:
list_123 = [random.randint(1,6),random.randint(1,6),random.randint(1,6),]
answer = str(input('请猜数(big或small):'))
if list_123[0] + list_123[1] + list_123[2] >10:
result = 'big'
error_result = 'small'
if list_123[0] + list_123[1] + list_123[2] <10:
result = 'small'
error_result = 'big'
if answer ==result:
print('您赢了!')
gold = gold + 100
print('随机数为'+str(list_123))
print('您现在有'+str(gold)+'金币')
elif answer ==error_result:
print('您输了...')
print('随机数为'+str(list_123))
gold = gold - 100
print('您现在有'+str(gold)+'金币')
else:
print('非法输入')
gold = 10000
if gold ==2000 or gold ==3000 or gold ==4000 or gold ==5000 or gold ==6000 or gold ==7000 or gold ==8000 or gold ==9000:
answer = str(input('您现在可以购买道具,是否购买?(True或False):'))
if answer =='True':
print('请说出要购买der道具')
print('*'*41)
print('*金币翻倍器[现有的] 金币翻倍器[得到的]*')
print('* 2000G 1500G *')
print('*'*41)
answer = str(input('请说出要购买der道具(金币翻倍器[现有的]说1,金币翻倍器[得到的]说2):'))
if gold >2000 and answer =='1':
gold = gold - 2000
answer = int(input('请说出要翻der倍数:'))
gold = str(gold * answer)
print('您现在有'+gold+'金币')
gold = int(gold)
elif gold >1500 and answer =='2':
gold = gold - 1500
answer = int(input('请说出要翻der倍数:'))
gold_mang = 100 * answer
gold = gold + gold_mang
print('您现在有'+str(gold)+'金币')
gold = int(gold)
else:
print('没有这个道具,游戏结束')
gold = 10000
elif answer =='False':
print('继续游戏')
else:
print('非法输入')
gold = 10000
if gold ==0:
print('金币没了,游戏结束')
gold = 10000
elif Game_start =='False':
print('欢迎游玩,下次再见!')
gold = 10000
else:
print('非法输入')
gold = 10000
print('游戏结束,再见!')
time.sleep(10)
来源:https://blog.csdn.net/tanclyyy/article/details/115871982


猜你喜欢
- 加载相关库import randomimport seaborn as snsimport matplotlib.pyplot as plt
- 本文实例讲述了Python3实现获取图片文字里中文的方法。分享给大家供大家参考,具体如下:一、运行环境(1) win10(2) pychar
- 如下所示:lists = ['tom','Jack','luCy','lily
- 查询速度慢的原因很多,常见如下几种:1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2、I/O吞吐量小,形成了瓶颈
- 前言SQLSERVER 2005中不知因何去掉了很重要的DEBUGGER功能,要调试,必须要安装VS2005专业版或者更高版本。非常不方便。
- 今天给大家介绍一个可以获取当前系统信息的库——psutil利用psutil库可以获取系统的一些信息,如cpu,内存等使用率,从而可以查看当前
- 引言:最近重温了一遍红宝书,发现一些比较好玩的写法,很多东西日常都在用,但是发现还会有不一样的写法,结合一些日常工作中使用的方法,为大家总结
- 使用rpm安装方式安装完MySQL数据库后,数据文件的默认路径为/var/lib/mysql,然而根目录并不适合用于存储数据文件。原路径:/
- #mysql -uroot -p输入密码mysql> show full processlist;
- 前言本文介绍CentOS7使用yum安装golang一、go语言介绍Go语言 是Google公司 在2007开发一种静态强类型、编译型语言,
- 1、表的主键、外键必须有索引;2、数据量超过300的表应该有索引;3、经常与其他表进行连接的表,在连接字段上应该建立索引;4、经常出现在Wh
- VSCode插件安装完成后,有些插件如果你想要完整的使用其中的功能得在settings.json中就行配置,接下来是我常用的一些配置{ &n
- 最近刚出了新闻,阿里四名网络安全部门员工利用网页漏洞写js脚本抢月饼,于是兴致来了,想了解一下这个js脚本到底怎么写,各种刷单各种抢枪抢又是
- 我经常使用json进行存储配置,于是常常遇到这样的问题:如果想要对某个数组里的值进行模糊搜索,同时输出相关的其他数组相同位置的的值该如何实现
- 本文介绍了vue下history模式刷新后404错误解决方法,分享给大家,具体如下:官方说明文档:https://router.vuejs.
- 本文实例讲述了Python基于回溯法子集树模板解决全排列问题。分享给大家供大家参考,具体如下:问题实现 'a', '
- 本文实例讲述了Python SVM(支持向量机)实现方法。分享给大家供大家参考,具体如下:运行环境Pyhton3numpy(科学计算包)ma
- vue循环动态设置ref并获取$refs关于ref的使用和场景请看官网文档下面是我对循环设置ref并获取使用的一些办法,简单记录一下一. 使
- 在实际生活中,经常会有文件重复的困扰,即同一个文件可能既在A目录中,又在B目录中,更可恶的是,即便是同一个文件,文件名可能还不一样。在文件较
- 进入查询窗口后,输入下面的语句: CREATE INDEX mycolumn_index ON mytable (myclumn) 这个语句