鱼C论坛

 找回密码
 立即注册
查看: 2672|回复: 15

[已解决]【求助】猜数字小游戏

[复制链接]
发表于 2018-7-16 00:10:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 萌やし 于 2018-7-18 22:49 编辑

零基础入门学习Python-004课
第一次就猜对怎么办呢.png
猜数字,可是要是直接猜中了,那什么恭喜提示都没有,就结束了。。
想改善,但我总感觉在while 前再加一条if 判断又好多余,
还有没有别的办法呢,鱼友们能给点建议吗?


                               
登录/注册后可看大图


谢谢鱼友们回复,学到了两个方法,新人很开心了

一:删去循环外的输入,给guess赋非8的初值

二:循环条件为true,猜对的时候break跳出循环

最佳答案给后面这位鱼友啦,还专门写了代码,费心了

感谢大家的帮忙!
最佳答案
2018-7-16 16:08:57
你直接让程序必进循环就好了,然后在循环里面按照你的想法定制跳出循环的条件,比如这样

  1. print('-------------------------我爱鱼C工作室-------------------------')
  2. temp = input('不妨猜一下小甲鱼现在心里想的是哪个数字:')
  3. while True:
  4.     guess = int(temp)
  5.     if guess == 8:
  6.         print('卧槽,你是小甲鱼心里的蛔虫吗?!')
  7.         print('哼,猜中了也没有奖励!')
  8.         break
  9.     else:
  10.         if guess > 8:
  11.             print('哥,大了大了~~~')
  12.             temp = input('哎呀,猜错了,请重新输入吧:')
  13.         else:
  14.             print('嘿,小了小了~~~')
  15.             temp = input('哎呀,猜错了,请重新输入吧:')

  16. print('游戏结束,不玩啦^_^~')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-7-16 07:58:18 | 显示全部楼层
可以试试在正确的条件下加个break
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-16 09:08:50 | 显示全部楼层
可以对guess赋初值,不为8即可
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

发表于 2018-7-16 12:54:37 | 显示全部楼层
把循环体的内容复制在第三行后面试试看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-16 13:53:10 From FishC Mobile | 显示全部楼层
本帖最后由 圣剑三刀。abx 于 2018-7-16 13:54 编辑

可以看一下小甲鱼老师课后作业里的答案,版权所限不便直接复制给你.我把网址给你,你会恍然大悟的.http://bbs.fishc.org/forum.php?mod=viewthread&tid=37006&extra=page%3D1&mobile=2
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-16 16:08:57 | 显示全部楼层    本楼为最佳答案   
你直接让程序必进循环就好了,然后在循环里面按照你的想法定制跳出循环的条件,比如这样

  1. print('-------------------------我爱鱼C工作室-------------------------')
  2. temp = input('不妨猜一下小甲鱼现在心里想的是哪个数字:')
  3. while True:
  4.     guess = int(temp)
  5.     if guess == 8:
  6.         print('卧槽,你是小甲鱼心里的蛔虫吗?!')
  7.         print('哼,猜中了也没有奖励!')
  8.         break
  9.     else:
  10.         if guess > 8:
  11.             print('哥,大了大了~~~')
  12.             temp = input('哎呀,猜错了,请重新输入吧:')
  13.         else:
  14.             print('嘿,小了小了~~~')
  15.             temp = input('哎呀,猜错了,请重新输入吧:')

  16. print('游戏结束,不玩啦^_^~')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-16 17:58:35 | 显示全部楼层
循环外的录入数字可以不要,给guess赋一个初始值为0,再运行就可以了。BngThea大大这个是最佳答案了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-17 08:32:44 | 显示全部楼层
改初始值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-7-18 22:40:35 | 显示全部楼层
靳泽宇 发表于 2018-7-16 07:58
可以试试在正确的条件下加个break

我是想问,一开始猜对了,就没有恭喜提示,不会进入循环呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-7-18 22:41:55 | 显示全部楼层
本帖最后由 萌やし 于 2018-7-18 22:43 编辑
BngThea 发表于 2018-7-16 09:08
可以对guess赋初值,不为8即可


感谢大大,这是好方法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-7-18 22:45:00 | 显示全部楼层
指头比思想慢 发表于 2018-7-16 16:08
你直接让程序必进循环就好了,然后在循环里面按照你的想法定制跳出循环的条件,比如这样

一下子学到两个方法,开心
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-19 00:03:30 | 显示全部楼层
萌やし 发表于 2018-7-18 22:45
一下子学到两个方法,开心

加油
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-20 09:38:54 | 显示全部楼层
import random
secret=random.randint(1,100)#生成随机数
#print (secret)
time=6#猜数字的次数
guess=0#输入的数字
minNum=0#最小随机数
maxNum=100#最大随机数
print("---------欢迎来到猜数字的地方,请开始---------")
while guess!=secret and time>=0:#条件
    guess=int(input("*数字区间0-100,请输入你猜的数字:"))
    print("你输入数字是:",guess)
    if guess==secret:
        print("猜对了,真厉害")
    else:
        #当不等于的时候,还需要打印出相应的区间,让用户更容易使用
        if guess<secret:
            minNum=guess
            print("你的猜数小于正确答案")
            print("现在的数字区间是:",minNum,"-",maxNum)
        else:
            maxNum=guess
            print("你的猜数大于正确答案")
            print("数字区间是:",minNum,"-",maxNum)
        print("太遗憾了,你猜错了,你还有",time,"次机会")
    time-=1
print("游戏结束")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-20 09:53:01 | 显示全部楼层
py小霸王 发表于 2018-7-20 09:38
import random
secret=random.randint(1,100)#生成随机数
#print (secret)

格式错了能删除不
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-20 09:53:49 | 显示全部楼层

  1. import random
  2. secret=random.randint(1,100)#生成随机数
  3. #print (secret)
  4. time=6#猜数字的次数
  5. guess=0#输入的数字
  6. minNum=0#最小随机数
  7. maxNum=100#最大随机数
  8. print("---------欢迎来到猜数字的地方,请开始---------")
  9. while guess!=secret and time>=0:#条件
  10.     guess=int(input("*数字区间0-100,请输入你猜的数字:"))
  11.     print("你输入数字是:",guess)
  12.     if guess==secret:
  13.         print("猜对了,真厉害")
  14.     else:
  15.         #当不等于的时候,还需要打印出相应的区间,让用户更容易使用
  16.         if guess<secret:
  17.             minNum=guess
  18.             print("你的猜数小于正确答案")
  19.             print("现在的数字区间是:",minNum,"-",maxNum)
  20.         else:
  21.             maxNum=guess
  22.             print("你的猜数大于正确答案")
  23.             print("数字区间是:",minNum,"-",maxNum)
  24.         print("太遗憾了,你猜错了,你还有",time,"次机会")
  25.     time-=1
  26. print("游戏结束")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-7-23 18:26:59 | 显示全部楼层

很有想法的 哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-26 19:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表