你所不知道的python 迴圈中的else

pythontab發表於2013-07-24

眾多語言中都有if else這對條件選擇組合,但是在python中還有更多else使用的地方,比如說迴圈for,或者while都可以和else組合。

下面簡單介紹一下for-else while-else組合

迴圈組合中的else執行的情況下是迴圈正常結束(即不是使用break退出)。如下列程式碼:

numbers = [1,2,3,4,5] 
for n in numbers: 
    if (n > 5): 
        print('the value is %d '%(n)) 
        break
else: 
    print('the for loop does not end with break') 
    
i = 0
while(numbers[i] < 5): 
    print('the index %d value is %d'%(i, numbers[i])) 
    if (numbers[i] < 0) : 
        break
    i = i + 1
else: 
    print('the loop does not end with break') 
  
numbers = [1,2,3,4,5]
for n in numbers:
    if (n > 5):
        print('the value is %d '%(n))
        break
else:
    print('the for loop does not end with break')
   
i = 0
while(numbers[i] < 5):
    print('the index %d value is %d'%(i, numbers[i]))
    if (numbers[i] < 0) :
        break
    i = i + 1
else:
    print('the loop does not end with break')

執行結果如下:

C:\Python27>python.exe for_else.py 
the for loop does not end with break
the index 0 value is 1
the index 1 value is 2
the index 2 value is 3
the index 3 value is 4
the loop does not end with break



相關文章