(第四课习题)求大神解答!!关于循环次数的疑问
import randomsecret = random.randint(1,20)
print(secret)
temp = input("猜一下我心里的数字:")
guess = int(temp)
i = 1
while i>0 and guess!=secret:
i = i - 1
if guess > secret:
print("大了大了")
else:
print("小了小了")
temp = input("猜错了,再猜一次吧:")
guess = int(temp)
if i>0:
print("猜对了,游戏结束")
else:
print("机会用完,答案是"+str(secret))
以上是程序代码,为什么我的循环次数i=1,但是跑程序时循环会跑2次呢?
12
猜一下我心里的数字:13
大了大了
猜错了,再猜一次吧:14
机会用完,答案是12 你并没有进入第二次循环,只是在第一次循环最后执行了input才结束循环。
而且根据结果可以看到你输入14并没有得到对错的反馈,而是脱离了循环执行最后一句 本帖最后由 jackz007 于 2020-3-2 21:55 编辑
给你一个参考代码:
import random
secret = random . randint(1 , 20)
i = 3
while i:
guess = int(input("猜一下我心里的数字:"))
i -= 1
if guess == secret:
print("猜对了,游戏结束")
break
else:
if guess > secret:
print("大了大了")
else:
print("小了小了")
if i:
print('猜错了,再猜一次吧!\n')
else:
print("机会用完,答案是" , secret)
1 ~20 的范围,3 次就能猜中的概率是 3 / 20 = 15%,基本上就是中大奖的节奏!!! 缩进缩进缩进...很重要 莫的感情的路人 发表于 2020-3-2 21:33
你并没有进入第二次循环,只是在第一次循环最后执行了input才结束循环。
而且根据结果可以看到你输入14并 ...
哇!谢谢你的解答,解释得很棒!
页:
[1]