Python的循环都可以定义else代码块,当循环条件为 False时,程序会执行else代码块,通常在else子句中完成循环的收尾工作。下面的代码演示了 while循环中else子句的使用方法。
示例代码:while-else.py
count = 0
while count < 10:
print('count小于10: ', count)
count += 1
else:
print('count大于或等于10: ', count)
运行这段代码,会输出如下内容:
count小于10: 0
count小于10: 1
count小于10: 2
count小于10: 3
count小于10: 4
count小于10: 5
count小于10: 6
count小于10: 7
count小于10: 8
count小于10: 9
count大于或等于10: 10
从这段代码可以看出,当循环条件count < 10变成False时,也就是count == 10时,while循环结束,这时会执行else子句中的代码。
其实这个else子句放在while循环外的用处并不大,其实这面的代码相当于下面的代码形式:
count = 0
while count < 10:
print('count小于10: ', count)
count += 1
print('count大于或等于10: ', count)
这段代码的执行结果与第一段代码完全相同。
下面看一下for语句的else子句。
data_list = [120, 10.5, True, '极客起源', '李宁']
for value in data_list:
print('元素: ', value)
else:
# 在else子句中,访问for循环计数器中的值(value变量),得到的是最后一个值
print('循环结束,执行else子句: ', value)
这段代码的执行结果如下:
元素: 120
元素: 10.5
元素: True
元素: 极客起源
元素: 李宁
循环结束,执行else子句: 李宁