呜呜狼 发表于 2017-9-22 10:52:55

关于python第四课课后习题小问题

程序运行起来没有问题,但有个小地方一直没搞明白,我定义的输入次数为3次(a = 3),可运行起来实际的输入次数是4次,检查了好几遍实在找不到原因,麻烦各位大大帮新手解释一下,拜托不要给我说让a = 2就行了import random
daan = random.randint (1,10)
a = 3
guess = int(input("猜猜小甲鱼心里想的哪个数字:"))
while (guess != daan) and (a > 0):
    if guess < daan:
      print("小了,小了")
    else:
      print("大了,大了")
    a = a - 1
    guess = int(input("猜错了,再猜猜:"))
if guess == daan:
    print("我X,你是小甲鱼心里的蛔虫吗?\n哼,猜中了也没有奖励")
print("游戏结束")


冬雪雪冬 发表于 2017-9-22 11:16:01

循环前有1次input,循环中有3次,总共4次

ba21 发表于 2017-9-22 11:18:04

guess = int(input("猜猜小甲鱼心里想的哪个数字:")) 这1次

guess = int(input("猜错了,再猜猜:")) 这3次

不就4次了。。

丶丨叚笑 发表于 2017-9-22 11:33:02

import random
daan = random.randint (1,10)
a = 3
guess = 0
while a > 0:
    guess = int(input("猜猜小甲鱼心里想的哪个数字:"))
    a = a - 1
    if guess == daan:
      print("我X,你是小甲鱼心里的蛔虫吗?\n哼,猜中了也没有奖励")
    else:
      if guess < daan:
            print("小了,小了")
      else:
            print("大了,大了")
      ifa > 0:
            print('再猜猜,',end='')
      else:
            print('机会用完了')
print("游戏结束")


你看下这个代码测试的。
第一次输入的信息没有进入while循环,所以就会多一次输入。如果把第一次输入信息纳入循环就不会出现这个问题了。
另外,在纳入循环之前,需要先规定guess的值,不然运行会报错,guess值没有。
页: [1]
查看完整版本: 关于python第四课课后习题小问题