如何打印此“是”?你好会打印一次(为i == 3),但打印(“是”) 即使没有if语句也没有错误。在没有IF语句的情况下,ELSE中的“是”是如何打印的?
CODE:
for i in range(5):
if i == 3:
print("hello")
else:
print("yes")
如何打印此“是”?你好会打印一次(为i == 3),但打印(“是”) 即使没有if语句也没有错误。在没有IF语句的情况下,ELSE中的“是”是如何打印的?
CODE:
for i in range(5):
if i == 3:
print("hello")
else:
print("yes")
一个for
回路的else
分支是总是执行,除非该环被打破了的(具有break
)。引述for
statement documentation:
当项目被耗尽(并立即开始时序列为空),该套件的
else
子句中,如果存在,执行,循环终止。A
break
在第一个套件中执行的语句终止循环而不执行else
子句的套件。
如果你想要的else
是if
语句的一部分,它缩进到同一级别:
for i in range(5):
if i == 3:
print("hello")
else:
print("yes")
,它会为除非i == 3
是真实的每一次迭代执行。
Else不在for循环中(在原始问题中)。它不在for循环中。 – user2331262
@ user2331262:不,确切地说。它与*循环配对。 –
这段代码是正确的,但是如果你从foor循环中移除其他东西,并将它放在for循环之后,那么“yes会被打印出来现在的问题是为什么是得到打印??” – user2331262
您正在使用'for-else'循环而不是'if-else'。 :) –
我向提问者提供的+1,因为在doc中搜索'for-else'并不明显。在我看来,给它-1意味着你忘记了自己的学习路径。 – pepr
好点pepr和AFAIK python是少数几种语言中的一种for-for循环。我只是发现了这个,因为有人建议在另一个问题中使用'for-else'循环。 – RedX