python猜数字游戏 python实战之90行代码写个猜数字游戏
啥也不是:) 人气:0想了解python实战之90行代码写个猜数字游戏的相关内容吗,啥也不是:)在本文为您仔细讲解python猜数字游戏的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:python猜数字游戏,python小游戏,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)
加载全部内容