我要上天233 发表于 2019-10-31 16:12:21

小小问题迷糊到我了!

代码如下:
print('----------自律给我自由----------')
temp = input('不妨猜测一下本王心里想的是哪一个数字:')
guess = int(temp)
while guess != 8:
    temp = input('哎呀!猜错啦,请重新输入吧:')
    guess = int(temp)
    if guess == 8:
      print('卧槽,你是本王心里的蛔虫吗?!')
      print('哼哼,猜对了也没有奖励!')
    else:
      if guess > 8:
            print('你哥的腰子,大了大了!')
      else:
            print('小弟弟,小了小了!')
print('Game Over!不玩啦!^_^')

如果输入8以下的数值,则:
----------自律给我自由----------
不妨猜测一下本王心里想的是哪一个数字:5
哎呀!猜错啦,请重新输入吧:
如果输入8则:
----------自律给我自由----------
不妨猜测一下本王心里想的是哪一个数字:4
哎呀!猜错啦,请重新输入吧:8
卧槽,你是本王心里的蛔虫吗?!
哼哼,猜对了也没有奖励!
Game Over!不玩啦!^_^
如果输入8以上的数值,则:
----------自律给我自由----------
不妨猜测一下本王心里想的是哪一个数字:9
哎呀!猜错啦,请重新输入吧:
疑问??为什么不会出现大了,或者小了的提示呢??

我要上天233 发表于 2019-10-31 16:27:30

代码没有问题,第一次的输入存在问题,需要改进一下!

我要上天233 发表于 2019-10-31 16:38:40

这个问题小甲鱼最后提到了。
没有看完整节课的惩罚!
吸取教训!!

jackz007 发表于 2019-10-31 16:41:30

本帖最后由 jackz007 于 2019-10-31 16:43 编辑

      楼主,你的代码存在问题,如果第一次就猜中数字 8,那么,不会有任何猜对的信息提示,直接绕过 while 循环,只有第一次没猜对,后面才会有机会看到猜对的信息,所以,代码得做修改:

print('----------自律给我自由----------')
prompt = '不妨猜测一下本王心里想的是哪一个数字:'
while True:
    guess = int(input(prompt))
    if guess == 8:
      print('卧槽,你是本王心里的蛔虫吗?!')
      print('哼哼,猜对了也没有奖励!')
      break
    else:
      if guess > 8:
            print('你哥的腰子,大了大了!')
      else:
            print('小弟弟,小了小了!')
      prompt = '哎呀!猜错啦,请重新输入吧:'
print('Game Over!不玩啦!^_^')

我要上天233 发表于 2019-10-31 17:01:09

jackz007 发表于 2019-10-31 16:41
楼主,你的代码存在问题,如果第一次就猜中数字 8,那么,不会有任何猜对的信息提示,直接绕过 whi ...

这样果然可行,感谢大神!{:9_236:}

我要上天233 发表于 2019-10-31 17:16:22

jackz007 发表于 2019-10-31 16:41
楼主,你的代码存在问题,如果第一次就猜中数字 8,那么,不会有任何猜对的信息提示,直接绕过 whi ...

请教一下:break   是什么意思?有什么作用?

jackz007 发表于 2019-10-31 17:38:27

我要上天233 发表于 2019-10-31 17:16
请教一下:break   是什么意思?有什么作用?

      break 语句用来结束 while 循环。

我要上天233 发表于 2019-11-1 09:28:19

jackz007 发表于 2019-10-31 17:38
break 语句用来结束 while 循环。

我试一下。
谢谢
页: [1]
查看完整版本: 小小问题迷糊到我了!