鱼C论坛

 找回密码
 立即注册
查看: 1319|回复: 3

[已解决]关于python第四课课后习题小问题

[复制链接]
发表于 2017-9-22 10:52:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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



最佳答案
2017-9-22 11:16:01
循环前有1次input,循环中有3次,总共4次
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-9-22 11:16:01 | 显示全部楼层    本楼为最佳答案   
循环前有1次input,循环中有3次,总共4次
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-22 11:18:04 | 显示全部楼层
guess = int(input("猜猜小甲鱼心里想的哪个数字:")) 这1次

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

不就4次了。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-22 11:33:02 | 显示全部楼层
  1. import random
  2. daan = random.randint (1,10)
  3. a = 3
  4. guess = 0
  5. while a > 0:
  6.     guess = int(input("猜猜小甲鱼心里想的哪个数字:"))
  7.     a = a - 1
  8.     if guess == daan:
  9.         print("我X,你是小甲鱼心里的蛔虫吗?\n哼,猜中了也没有奖励")
  10.     else:
  11.         if guess < daan:
  12.             print("小了,小了")
  13.         else:
  14.             print("大了,大了")
  15.         if  a > 0:
  16.             print('再猜猜,',end='')
  17.         else:
  18.             print('机会用完了')
  19. print("游戏结束")
复制代码



你看下这个代码测试的。
第一次输入的信息没有进入while循环,所以就会多一次输入。如果把第一次输入信息纳入循环就不会出现这个问题了。
另外,在纳入循环之前,需要先规定guess的值,不然运行会报错,guess值没有。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-18 17:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表