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,猜数字,小游戏
0
投稿

猜你喜欢

  • 带你快速了解SQL窗口函数

    2024-01-27 19:11:38
  • 简单介绍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
  • Windows系统下PhantomJS的安装和基本用法

    2022-03-30 11:49:52
  • Python操作列表常用方法实例小结【创建、遍历、统计、切片等】

    2021-07-26 12:56:49
  • 关于Python OS模块常用文件/目录函数详解

    2023-07-04 06:30:06
  • 解决csv.writer写入文件有多余的空行问题

    2022-12-05 06:54:28
  • Vue+Echarts实现简单折线图

    2024-05-29 22:42:25
  • Pytorch中torchtext终极安装方法以及常见问题

    2023-03-15 11:59:09
  • Golang使用Gin框架实现路由分类处理请求流程详解

    2024-05-29 22:07:41
  • Pandas数据分析固定时间点和时间差

    2022-03-05 20:24:07
  • python 使用matplotlib 实现从文件中读取x,y坐标的可视化方法

    2023-07-29 05:25:42
  • 日常收集整理的Git常用命令

    2022-10-03 08:12:40
  • asp之家 网络编程 m.aspxhome.com