关于while...else和for...else看完不懵逼了。

1. while…else

记住三句话就可以了:
第一句:遇到while循环里有break,就绝对不会执行else语句里的代码块。
i = 1
while i < 3:
   print (i, " 小于 5")
   i = i + 1
   if i == 2:      
       break
else:
   print (i, " 大于或等于 5")   # 遇到break不会执行else里的代码块
# 打印结果: 1  小于 5
第二句:while循环正常运行结束后,会执行else语句。
# 验证  while 正常循环时候,会执行else
i = 1
while i < 3:
   print(i, " while正常执行")
   i = i + 1

else:
   print(i, " else执行了")

执行结果:

1  while正常执行
2  while正常执行
3  else执行了
第三句:遇到continue,else也会执行。
i = 1
while i < 3:
   print (i, " while正常执行")
   i = i + 1
   if i == 2:
       continue

else:
   print (i, " else执行了")

执行结果:

1  while正常执行
2  while正常执行
3  else执行了

2. for…else

for…else记住遇到break,就不会执行else,反之则执行。

# 遇到break情况,else不执行。
for i in range(5):
    if i==2:
        break
    print(i)

else:
    print('这是else')
# 打印结果:
0
1


# 没有break,else会执行。

for i in range(5):
    if i == 2:
        continue
    print(i)

else:
    print('这是else')
# 或者
for i in range(5):

    print(i)

else:
    print('这是else')