如何打印此「是」?你好會打印一次(爲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