2017-04-19 108 views
0

我在做一些關於python的初學者級別的教程時遇到了這個問題。在我看來,我認爲有些時候,它從來沒有得到執行,如果我們試圖運行類似以下內容:在python中執行For循環2.7

#1st loop 
For i in range (2,2): 
    Print i 

#2nd loop 
For i in range (1,-10): 
    Print i 

這兩個循環體永遠不會執行,因爲它似乎已經耗盡。

第一個循環:當我們將2分配給i時,它已經到了最後。

第二個循環:當給i賦值1時,它不能繼續進行到-10。因爲增量的步驟是1,NOT-1。

我對錯了嗎?如果不正確,爲什麼?

+4

是的,你理解正確的話。如果循環的迭代是* empty *,那麼'for'循環體永遠不會被執行。範圍(2,2)和範圍(1,-10)都是*空序列*。 –

+2

有什麼能阻止你運行這段代碼,看看自己是否執行過'print'? (除了語法錯誤?) –

+0

更多空iterables的例子:'''''''''','set()',''''';這些全都不包含用於迭代的for循環的元素。 –

回答

1

這些序列不會被執行。 Python for語句按順序遍歷序列的成員,每次執行該塊(從https://wiki.python.org/moin/ForLoop),因此該塊將不會在任何時候執行。

還有一注: 請按照Python語法(即,無法啓動資本)寫運營商:

#1st loop 
for i in range (2,2): 
    print i 

#2nd loop 
for i in range (1,-10): 
    print i