鱼C论坛

 找回密码
 立即注册
查看: 1387|回复: 11

[已解决]关于第004讲的循环次数问题,为什么我这样是循环了4次啊?

[复制链接]
发表于 2018-5-12 21:05:55 | 显示全部楼层 |阅读模式

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

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

x
import random
secret = random.randint(1,11)
print('-----pokemon go-----')
n = 3
print(secret)
Uno = int(input("猜猜我现在想的几:"))
while (Uno != secret) and (n > 0):
    n = n - 1
    if Uno > secret:
            print("猜大了哦")
    else:
            print("猜小了哦")
    print("还剩" + str(3-n) + "次机会")
    Uno = int(input("再来一次吧:"))
if Uno == secret:
    print("\n很厉害啊,小朋友!恭喜获得奖励随机限定LOL皮肤一款")
else: print("\nsorry,机会已用完," + str(secret) + "才是正确答案")
print("Game over")
print(n)
最佳答案
2018-5-12 21:50:57
本帖最后由 ba21 于 2018-5-12 22:01 编辑

Uno = int(input("猜猜我现在想的几:"))  这还没有进循环就有1次了。


到了循环里n=3 有3次。刚好4次。
外面n改成=2
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-5-12 21:33:25 | 显示全部楼层
已经绝望了- -
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-12 21:50:57 | 显示全部楼层    本楼为最佳答案   
本帖最后由 ba21 于 2018-5-12 22:01 编辑

Uno = int(input("猜猜我现在想的几:"))  这还没有进循环就有1次了。


到了循环里n=3 有3次。刚好4次。
外面n改成=2
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-12 21:51:36 | 显示全部楼层
本帖最后由 thexiosi 于 2018-5-12 21:59 编辑

hi 程序有点小瑕疵,请参考修改后的代码
  1. import random
  2. secret = random.randint(1,11)
  3. print('-----pokemon go-----')
  4. n = 3
  5. print(secret)
  6. Uno = int(input("猜猜我现在想的几:"))
  7. while (Uno != secret) and (n > 1):#修改判定,使猜的机会为三次;当 n =1 时,进行 第三次 input() 并 跳出 while循环
  8.     n = n - 1  
  9.     if Uno > secret:
  10.             print("猜大了哦")
  11.     else:
  12.             print("猜小了哦")
  13.     print("还剩" + str(n) + "次机会") #之前提示不对,此处进行了修正
  14.     Uno = int(input("再来一次吧:"))
  15.    
  16. if Uno == secret:
  17.     print("\n很厉害啊,小朋友!恭喜获得奖励随机限定LOL皮肤一款")
  18. else: print("\nsorry,机会已用完," + str(secret) + "才是正确答案")
  19. print("Game over")
  20. print(n)
复制代码

-----pokemon go-----
11
猜猜我现在想的几:3
猜小了哦
还剩2次机会
再来一次吧:4
猜小了哦
还剩1次机会
再来一次吧:2

sorry,机会已用完,11才是正确答案
Game over
1
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2018-5-12 22:02:33 | 显示全部楼层
ba21 发表于 2018-5-12 21:50
Uno = int(input("猜猜我现在想的几:"))  这还没有进循环就有1次了。

判断次数是分开算的吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-12 22:03:08 | 显示全部楼层
thexiosi 发表于 2018-5-12 21:51
hi 程序有点小瑕疵,请参考修改后的代码
-----pokemon go-----
11

为什么要大于1,我看小甲鱼那个也是大于0的,但是没出问题额
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-12 22:05:10 | 显示全部楼层
行路虫 发表于 2018-5-12 22:03
为什么要大于1,我看小甲鱼那个也是大于0的,但是没出问题额

和楼主的代码有关系啊

while循环前,已经进行了一次判定了。因此,while循环中,只能进行两次判定了;如果是>0, 需要修改下代码逻辑,楼主可以先考虑下如何修改,如果仍有疑问,可以发出来讨论
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-12 22:10:20 | 显示全部楼层
行路虫 发表于 2018-5-12 22:02
判断次数是分开算的吗?

看错了,已修改。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-12 22:17:31 | 显示全部楼层
ba21 发表于 2018-5-12 21:50
Uno = int(input("猜猜我现在想的几:"))  这还没有进循环就有1次了。

原来如此,谢谢了哈
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-12 22:25:27 | 显示全部楼层
ba21 发表于 2018-5-12 22:10
看错了,已修改。

层主,还是有点搞不太明白
从结果来看只是提前输入了Uno的值
但是是进了While才开始判定的
-----pokemon go-----
7
猜猜我现在想的几:6
猜小了哦
还剩2次机会
再来一次吧:6
2
猜小了哦
还剩1次机会
再来一次吧:6
1
猜小了哦
还剩0次机会
再来一次吧:6
0

sorry,机会已用完,7才是正确答案
Game over
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-12 22:38:23 | 显示全部楼层
行路虫 发表于 2018-5-12 22:25
层主,还是有点搞不太明白
从结果来看只是提前输入了Uno的值
但是是进了While才开始判定的

0次机会的时候要求输入,你是输入,直接退出循环。

2018-05-12_223629.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-13 15:48:31 | 显示全部楼层

  1. import random
  2. secret = random.randint(1,11)
  3. print('-----pokemon go-----')
  4. n = 3
  5. print('答案是:', secret)
  6. Uno = int(input("你有%d次机会,\n猜猜我现在想的几: " % n))

  7. while n-1:
  8.     if Uno == secret:
  9.         print("很厉害啊,小朋友!恭喜获得奖励随机限定LOL皮肤一款")
  10.         break
  11.     elif Uno > secret:
  12.             print("猜大了哦")
  13.     else:
  14.             print("猜小了哦")
  15.     n = n - 1
  16.     print("还剩 %d 次机会" % n)
  17.     Uno = int(input("再来一次吧:"))
  18.     if n == 0:
  19.         print("\nsorry,机会已用完,【%d】才是正确答案" % secret)
  20.         break

  21. print("Game over")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-12 03:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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