python中的else子句

2022-03-20 17:56:25 字數 1119 閱讀 2595

在一般的語言中else子句一般是緊跟在if 子句後面,但是python語言中else子句可以不跟在if子句後面,請看下面**:

>>> for n in range(2, 10):

...

for x in range(2, n):

...

if n % x ==0:

...

print(n, '

equals

', x, '

*', n//x)

...

break

...

else

:...

#loop fell through without finding a factor

... print(n, '

is a prime number')

...2 is

a prime number

3 is

a prime number

4 equals 2 * 2

5 is

a prime number

6 equals 2 * 3

7 is

a prime number

8 equals 2 * 4

9 equals 3 * 3

在第乙個迴圈中 n 分別為 2,3,4,5,6,7,8,9,第二個迴圈中x分別為2到n ,迴圈體內為判斷n是否能被x整除,如果可以列印並且退出本層迴圈,下面居然是else語句,這樣的結構在其他程式語言中很少見到,先不管這些,我們先看看程式是怎樣執行的。

當n=2時,並不能進第二個for迴圈體,這個時候執行else子句,列印 「2 is a prime number」;

當n=3時,可以進入第二個for迴圈體,但是不符合if n%x == 0的條件,break語句無法執行,第二層迴圈已經結束,接著便會執行else子句,列印 "3 is a prime number";

當n=4時,進入第二個for迴圈體,此時滿足if n%x == 0條件,列印」4 equals 2 * 2「 之後執行break , else子句也就不會執行了。接下來執**況類似。

Python 迴圈語句中的 else 子句

python 迴圈語句中的 else 子句 有其它程式語言經驗的程式設計師接觸到 python 時最訝異的莫過於無所不在的 else,不僅分枝語句有,而且迴圈語句也有,甚至連異常處理也有。但現在我們來看看迴圈語句中的 else,看看它們的語法 while stmt while expression ...

使用else子句簡化迴圈

在python中,不僅分支語句有else子句,而且迴圈語句也有,甚至連異常處理也有。while else形式 while expression suite else suite for else形式 for target list in expression list suite else suit...

Python 中的迴圈與 else

python 中的迴圈與 else 有以下兩種形式 python中的 for while 迴圈都有乙個可選 optional 的 else 分支 類似 if語句和 try 語句那樣 在迴圈迭代正常完成之後執行。所謂迴圈迭代正常完成,一般是指 所需要迭代處理的物件遍歷完畢,且中間沒有異常發生 注 縱然...