非洲小污师 发表于 2020-3-29 18:02:59

小甲鱼游戏运行出来结果不对 求大神解决

import random
tames=3
secret=random.randint(0,10)#10#
print('--------小鱼游戏----------')
temp=input('请输入一个数字:')
guess=int(temp)
while (guess!=secret)and(tames>0):
    tames-=1
    if guess==secret:
      print('厉害死了,这都能猜对!')
      print('无奖竞猜,猜对了也没有奖励')
    else:
      if guess>secret:
            print('大了,大了')
      else:
            print('小了小了')
      if tames>0:
            print('再试一次吧!')
      else:
            print('次数用完了')
print('游戏结束')

为什么输出结果是这样的呢>>>
--------小鱼游戏----------
请输入一个数字:50
大了,大了
再试一次吧!
大了,大了
再试一次吧!
大了,大了
次数用完了
游戏结束
>>>

qiuyouzhi 发表于 2020-3-29 18:05:00

本帖最后由 qiuyouzhi 于 2020-3-29 18:07 编辑

你只有打印,哪里接收输入了?
import random
tames=3
secret=random.randint(0,10)#10#
print('--------小鱼游戏----------')
guess = 0
while (guess!=secret)and(tames>0):
    temp=input('请输入一个数字:')
    guess=int(temp)
    if guess==secret:
      print('厉害死了,这都能猜对!')
      print('无奖竞猜,猜对了也没有奖励')
      break
    else:
      if guess>secret:
            print('大了,大了')
            tames-=1
      else:
            print('小了小了')

            tames-=1

if tames <= 0:
    print('次数用完了')
print('游戏结束')

zltzlt 发表于 2020-3-29 18:06:06

你没有在循环体中改变 guess 的值,导致 guess 一直都是用户一开始输入的值。可以这样改:

import random

tames = 3
secret = random.randint(0, 10)# 10#
print('--------小鱼游戏----------')
temp = input('请输入一个数字:')
guess = int(temp)
while (guess != secret) and (tames > 0):
    tames -= 1
    if guess == secret:
      print('厉害死了,这都能猜对!')
      print('无奖竞猜,猜对了也没有奖励')
    else:
      if guess > secret:
            print('大了,大了')
      else:
            print('小了小了')
      if tames > 0:
            guess = int(input("再试一次吧:"))
      else:
            print('次数用完了')
print('游戏结束')

非洲小污师 发表于 2020-3-29 18:08:48

qiuyouzhi 发表于 2020-3-29 18:05
你只有打印,哪里接收输入了?

但是运行时候可以输入数字呀 只是一直循环下边
大了,大了
再试一次吧!
大了,大了
再试一次吧!
大了,大了
次数用完了
游戏结束

jackz007 发表于 2020-3-29 18:09:05

本帖最后由 jackz007 于 2020-3-29 18:12 编辑

import random
secret , times = random . randint(0,10) , 3
print('--------小鱼游戏----------')
for i in range(times):
    guess = int(input('请输入一个数字:'))
    if guess == secret:
      print('厉害死了,这都能猜对!')
      print('无奖竞猜,猜对了也没有奖励')
      break
    else:
      if guess > secret : print('大了,大了')
      else : print('小了小了')
      if i < times - 1 : print('再试一次吧!')
      else : print('次数用完了')
print('游戏结束')

zltzlt 发表于 2020-3-29 18:10:32

非洲小污师 发表于 2020-3-29 18:08
但是运行时候可以输入数字呀 只是一直循环下边
大了,大了
再试一次吧!


你运行一下我的程序呗

非洲小污师 发表于 2020-3-29 18:11:20

zltzlt 发表于 2020-3-29 18:06
你没有在循环体中改变 guess 的值,导致 guess 一直都是用户一开始输入的值。可以这样改:

好的感谢 明白了
页: [1]
查看完整版本: 小甲鱼游戏运行出来结果不对 求大神解决