python实战之90行代码写个猜数字游戏
作者:啥也不是:) 时间:2023-05-24 21:14:49
一、导入库
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
标签:python,猜数字,小游戏
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
带你快速了解SQL窗口函数
2024-01-27 19:11:38
![](https://img.aspxhome.com/file/2023/4/118214_0s.jpg)
简单介绍Ruby中的CGI编程
2022-09-07 21:38:14
Python使用os.listdir和os.walk获取文件路径
2023-01-30 11:02:10
Python使用代理抓取网站图片(多线程)
2023-06-25 17:34:50
innodb_flush_method取值方法(实例讲解)
2024-01-13 10:12:44
vue中的面包屑导航组件实例代码
2024-05-02 17:11:28
如何做一个只搜索本网站的引擎?
2010-07-12 19:02:00
使用用SQL语句从电脑导入图片到数据库的方法
2024-01-13 22:29:00
Python将多份excel表格整理成一份表格
2022-06-11 13:54:50
Win10安装dlib GPU过程详解
2023-12-27 08:50:08
![](https://img.aspxhome.com/file/2023/1/112461_0s.jpg)
Windows系统下PhantomJS的安装和基本用法
2022-03-30 11:49:52
![](https://img.aspxhome.com/file/2023/5/72975_0s.png)
Python操作列表常用方法实例小结【创建、遍历、统计、切片等】
2021-07-26 12:56:49
![](https://img.aspxhome.com/file/2023/6/134666_0s.jpg)
关于Python OS模块常用文件/目录函数详解
2023-07-04 06:30:06
![](https://img.aspxhome.com/file/2023/9/71509_0s.png)
解决csv.writer写入文件有多余的空行问题
2022-12-05 06:54:28
Vue+Echarts实现简单折线图
2024-05-29 22:42:25
![](https://img.aspxhome.com/file/2023/9/123089_0s.jpg)
Pytorch中torchtext终极安装方法以及常见问题
2023-03-15 11:59:09
![](https://img.aspxhome.com/file/2023/3/112753_0s.png)
Golang使用Gin框架实现路由分类处理请求流程详解
2024-05-29 22:07:41
![](https://img.aspxhome.com/file/2023/8/123588_0s.png)
Pandas数据分析固定时间点和时间差
2022-03-05 20:24:07
![](https://img.aspxhome.com/file/2023/4/127894_0s.png)
python 使用matplotlib 实现从文件中读取x,y坐标的可视化方法
2023-07-29 05:25:42
![](https://img.aspxhome.com/file/2023/1/117591_0s.jpg)
日常收集整理的Git常用命令
2022-10-03 08:12:40