2017-06-15 22 views
3

此代碼運行得非常好,並生成素數的通緝名單。但打印我們的素數的else區塊沒有擋住,但無論如何它都能正常工作,有人可以向我解釋嗎?爲什麼這個`else`塊能夠工作,但它與'if`情況不在同一層?

for num in range(0, 100 + 1): 
    # prime numbers are greater than 1 
    if num > 1: 
     for i in range(2, num): 
      if (num % i) == 0: 
       break 
     else: 
      print(num) 

參考:programiz.com

+0

這是for-else從句。您可以在SO或某個教程網站中輕鬆找到關於它的文檔。 – Lafexlos

回答

6

Python有一個整潔的for-else construct

For循環也有一個else子句我們大多數人並不熟悉。 else子句在循環正常完成時執行。這意味着循環沒有遇到任何中斷。

1

事實上,阻斷for也有關鍵字else

for-else document

+0

添加一個鏈接,使您的答案更有幫助:) –

相關問題