多くの言語には if else 条件付き選択の組み合わせがありますが、Python では else が使用される場所が他にもあります (loop 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