循环组合中的else执行的情况下是循环正常结束(即不是使用break退出)。如下列代码:
numbers= [1,2,3,4,5] for nin 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 nin 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 thefor loop doesnot end withbreak the index0 valueis 1 the index1 valueis 2 the index2 valueis 3 the index3 valueis 4 the loop doesnot end withbreak