为何Python中未缩进且无对应if的else代码不报错?
为什么这段Python代码里的else没有对应if却不报错?
先看你提供的代码:
guess=7 c=1 for c in range(1,6): g = int(input("guess a number from 1 to 20:")) if (g==guess): print("you win") break else: print("you lose")
这是Python的特殊语法规则:for循环可以直接搭配else语句,这个else块和代码里的if没有关联,它的执行条件是:当for循环没有被break语句强制打断,完整跑完所有迭代后,就会触发else里的代码。
放到这段猜数字代码里就是:循环会给你5次猜数字的机会,只要某次猜对了,break会直接跳出循环,else块不会执行;要是5次全猜错,循环顺利跑完所有迭代,就会执行else里的"you lose"(你输了)。
内容的提问来源于stack exchange,提问作者user20319455
相关产品推荐
相关产品推荐

