萌やし 发表于 2018-7-16 00:10:10

【求助】猜数字小游戏

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

零基础入门学习Python-004课

猜数字,可是要是直接猜中了,那什么恭喜提示都没有,就结束了。。
想改善,但我总感觉在while 前再加一条if 判断又好多余,
还有没有别的办法呢,鱼友们能给点建议吗?{:9_241:}

static/image/hrline/4.gif

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

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

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

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

感谢大家的帮忙!

靳泽宇 发表于 2018-7-16 07:58:18

可以试试在正确的条件下加个break

BngThea 发表于 2018-7-16 09:08:50

可以对guess赋初值,不为8即可

我爱鱼C! 发表于 2018-7-16 12:54:37

把循环体的内容复制在第三行后面试试看

圣剑三刀。abx 发表于 2018-7-16 13:53:10

本帖最后由 圣剑三刀。abx 于 2018-7-16 13:54 编辑

可以看一下小甲鱼老师课后作业里的答案,版权所限不便直接复制给你.我把网址给你,你会恍然大悟的.http://bbs.fishc.org/forum.php?mod=viewthread&tid=37006&extra=page%3D1&mobile=2

指头比思想慢 发表于 2018-7-16 16:08:57

你直接让程序必进循环就好了,然后在循环里面按照你的想法定制跳出循环的条件,比如这样

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

print('游戏结束,不玩啦^_^~')

cable 发表于 2018-7-16 17:58:35

循环外的录入数字可以不要,给guess赋一个初始值为0,再运行就可以了。BngThea大大这个是最佳答案了。

我不是皮卡@ 发表于 2018-7-17 08:32:44

改初始值

萌やし 发表于 2018-7-18 22:40:35

靳泽宇 发表于 2018-7-16 07:58
可以试试在正确的条件下加个break

我是想问,一开始猜对了,就没有恭喜提示,不会进入循环呀

萌やし 发表于 2018-7-18 22:41:55

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

BngThea 发表于 2018-7-16 09:08
可以对guess赋初值,不为8即可

感谢大大,这是好方法

萌やし 发表于 2018-7-18 22:45:00

指头比思想慢 发表于 2018-7-16 16:08
你直接让程序必进循环就好了,然后在循环里面按照你的想法定制跳出循环的条件,比如这样

一下子学到两个方法,开心{:5_109:}

指头比思想慢 发表于 2018-7-19 00:03:30

萌やし 发表于 2018-7-18 22:45
一下子学到两个方法,开心

加油{:5_106:}

py小霸王 发表于 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("游戏结束")

py小霸王 发表于 2018-7-20 09:53:01

py小霸王 发表于 2018-7-20 09:38
import random
secret=random.randint(1,100)#生成随机数
#print (secret)


格式错了能删除不

py小霸王 发表于 2018-7-20 09:53:49


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("游戏结束")

萌やし 发表于 2018-7-23 18:26:59

py小霸王 发表于 2018-7-20 09:53


很有想法的 哈哈{:5_106:}
页: [1]
查看完整版本: 【求助】猜数字小游戏