xuexiXX 发表于 2021-3-18 01:51:01

《零基础之入门学习Python》第五讲的作业

我的代码跑出来的结果很奇怪,见图:
下面是我的代码,不知道哪里出了问题,求教
import random
temp = input('请猜猜我想的是什么数:')
num = random.randint(1,10)
guess = 0
i=3
while (guess!=num )and(i>0):
    if temp.isdigit():
      guess =int(temp)
      if guess == num :
            print('对了对了')
      else:
            if guess < num:
                print('小了小了')
            else:
                print("大了大了")
            if i>1:
                print("可以再试一次:")
            else:
                print("没机会啦!")
      
    else:
      print("请输入整数哦:")
    i = i-1
print('游戏结束')

小伤口 发表于 2021-3-18 02:00:06

import random


num = random.randint(1, 10)
guess = 0
i = 3
while (guess != num) and (i > 0):
    temp = input('请猜猜我想的是什么数:')
    if temp.isdigit():
      guess = int(temp)
      if guess == num:
            print('对了对了')
      else:
            if guess < num:
                print('小了小了')
            else:
                print("大了大了")
            if i > 1:
                print("可以再试一次:")
            else:
                print("没机会啦!")

    else:
      print("请输入整数哦:")
    i = i - 1
print('游戏结束')

将下面这一句放在while里面就可以了
temp = input('请猜猜我想的是什么数:')
如果你放在外面
while会一直执行到(guess!=num )and(i>0)不符合才会停止
所以会一直用你temp的结果判断
也就是一直小了,小了
放在里面就可以让用户继续判断

xuexiXX 发表于 2021-3-18 07:59:51

小伤口 发表于 2021-3-18 02:00
将下面这一句放在while里面就可以了

如果你放在外面


哦哦哦!谢谢!

小伤口 发表于 2021-3-18 09:31:18

xuexiXX 发表于 2021-3-18 07:59
哦哦哦!谢谢!

如果有帮助请设置最佳吧{:10_254:}
页: [1]
查看完整版本: 《零基础之入门学习Python》第五讲的作业