我是Python新手,有一个关于在while循环中使用if语句的问题:
这个代码是用来写一个数字猜谜游戏,直到你输入的数字与生成的随机整数相匹配。在
示例代码编写如下:import random
answer=int(random.uniform(1,10))
number=int(input("guess:"))
if number==answer:
print("correct!")
while(number!=answer):
if number > answer:
print("smaller!")
number=int(input("guess again"))
if number < answer:
print("bigger!")
number=int(input("guess again"))
if number == answer:
print("bingo!!")
break
我得到的结果是:guess: 5 smaller! guess again 3 bigger! guess again 4 bingo!!
但是当我在while循环中使用if elif elif或if elif elif elif而不是多个if's时,如果第一个猜测是错误的,随后的猜测是正确的,那么最后一个就完蛋了!!未显示,例如:
^{pr2}$
结果是:guess: 5 smaller! guess again 3
如图所示,在最后一次正确的猜测之后,代码就停止了,并且“宾果!!”未显示。在
有人能帮助我理解为什么在while循环中使用多个if和if elif else/elif时会出现这种差异?
非常感谢你!在
添加:我最终意识到我的问题是,每次我为number输入一个新值后,它将从代码中的何处再次使用新的number运行,当我使用多个if's或if-elif-else时,这有什么不同。