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
0
投稿
猜你喜欢
- openpyxl特点openpyxl(可读写excel表)专门处理Excel2007及以上版本产生的xlsx文件,xls和xlsx之间转换容
- 如下所示:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional
- 哎,以前写博文的时候没注意,有些图片用QQ来截取,获得的图片文件名都是类似于QQ截图20120926174732-300×15.png的形式
- 一 计算公式:二 实现代码(1)import mathfrom tqdm import tqdmimport timetotal,s,n,t
- 总结类的定义很久以前,语言都是面向过程的,经过计算机科学家的探索,出现了面向对象。面向对象可以解释生活中很多东西。比如人,人就是个对象,有参
- 本文实例讲述了Python实现的递归神经网络。分享给大家供大家参考,具体如下:# Recurrent Neural Networksimpo
- 初步介绍 当然,我知道现在有成千上万个关于 用CSS处理圆角 的教程,但不管怎么说,我仍然想把这篇文章展示给您。也希望您会发现这篇文章会非常
- alert table 表名 add column 列名 alter table 表名 drop column 列名 eg: alter t
- php统计数组元素个数count():对数组中的元素个数进行统计;sizeof():和count()具有同样的用途,这两个函数都可以返回数组
- 先问一个问题, 在firefox 2里,正则表达式字符"\d"全等于"[0-9]"吗?有可能你会答&
- argparse是python用于解析命令行参数和选项的标准模块。很多时候,需要用到解析命令行参数的程序,目的是在终端窗口输入训练的参数和选
- 拆包是指将一个结构中的数据拆分为多个单独变量中。以元组为例:>>> a = ('windows', 10,
- 本文实例讲述了PHP实现将MySQL重复ID二维数组重组为三维数组的方法。分享给大家供大家参考,具体如下:应用场景MYSQL在使用关联查询时
- <!-- #include file="../conn.asp" --&
- 前言利用Django开发网站,可以设计出非常优美的url规则,如果url的匹配规则(包含正则表达式)组织得比较好,view的结构就会比较清晰
- 在进行数据库的查询时,会经常遇到这样的情况:例如想在一个用户数据库中查询他的用户名和他的密码,但恰好该用户使用的名字和密码中有特殊的字符,例
- 环境系统:Centos7.2 服务:Nginx1:下载PHP7.0.2的安装包解压,编译,安装: $ cd /usr/s
- 所谓异常指的是程序的执行出现了非预期行为,就好比现实中的做一件事过程中总会出现一些意外的事。异常的处理是跨越编程语言的,和具体的编程细节相比
- PHP ini_set用来设置php.ini的值,在函数执行的时候生效,脚本结束后,设置失效。无需打开php.ini文件,就能修改配置,对于
- 看知乎的时候发现了一个 “如何正确地吐槽” 收藏夹,里面的一些神回复实在很搞笑,但是一页一页地看又有点麻烦,而且每次都要打开网页,于是想如果