网络编程
位置:首页>> 网络编程>> Python编程>> python实战之90行代码写个猜数字游戏

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
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com