1. else语句在循环中的作用
在 Python 中,else 关键字不仅可以与 if 语句一起使用,还可以与 for、while 等循环语句一起使用。
当 else 语句与循环语句一起使用时,它的作用是:在循环完毕后执行 else 语句下面的代码块。
下面,我们将分别介绍 for 和 while 循环中 else 语句的应用。
1.1 for循环中else的应用
for 循环与 else 语句一起使用时,如果 for 循环正常结束,即没有通过 break 语句提前退出循环,那么 else 语句下面的代码块将被执行。
例如,我们建立一个列表,通过 for 循环遍历列表中的元素,如果遍历到元素等于3,则通过 break 语句提前退出循环,否则全部遍历完之后执行 else 语句下面的代码块:
lst = [1,2,3,4,5]
for i in lst:
if i == 3:
print("Element found!")
break
else:
print("Element not found!")
上面的代码中,因为 lst 列表中含有元素 3,所以执行结果为“Element found!”,else 语句下面的代码块不会被执行。
如果我们将 lst 列表修改为:
lst = [1,2,4,5]
则执行结果为“Element not found!”,因为没有元素等于 3,for 循环正常结束后执行了 else 语句下面的代码块。
1.2 while循环中else的应用
while 循环与 else 语句一起使用时,如果 while 循环正常结束,即没有通过 break 语句提前退出循环,那么 else 语句下面的代码块将被执行。
例如,我们建立一个计数器,通过 while 循环将计数器的值加 1,如果计数器的值等于 5,则通过 break 语句提前退出循环,否则计数器将一直加到 10,然后执行 else 语句下面的代码块:
count = 0
while count < 10:
count += 1
if count == 5:
print("Count is 5.")
break
else:
print("Count is", count)
上面的代码中,因为计数器的值等于 5 时通过 break 语句提前退出了循环,执行结果为“Count is 5.”,else 语句下面的代码块不会被执行。
如果我们将 count 初始化为 1:
count = 1
则执行结果为“Count is 10.”,因为计数器一直加到 10,while 循环正常结束后执行了 else 语句下面的代码块。
2. else语句在循环中的应用场景
else 语句在循环中的应用场景有很多,例如在查找列表中的元素、循环执行到一定次数仍未达到预定要求等场景中,都可以通过 else 语句判断循环是否正常结束。
下面,我们将基于实例介绍 else 语句在循环中的应用场景。
2.1 在查找列表中的元素时,判断元素是否存在
在编写程序时,有时需要查找一个列表中是否存在某个元素,此时我们可以通过 for 循环遍历列表,并使用 if 关键字判断该元素是否存在,如果存在则打印提示信息并使用 break 语句提前退出循环,否则全部遍历完之后打印错误信息:
lst = [1,2,3,4,5]
elem = 3
for i in lst:
if i == elem:
print("Element found!")
break
else:
print("Element not found!")
上面的代码中,elem 的值为 3,因为 lst 列表中含有元素 3,所以执行结果为“Element found!”,else 语句下面的代码块不会被执行。
如果我们将 elem 的值修改为 6:
elem = 6
则执行结果为“Element not found!”,因为没有元素等于 6,for 循环正常结束后执行了 else 语句下面的代码块。
2.2 在循环执行到一定次数仍未达到预定要求时,提示出错信息
在编写程序时,有时需要循环执行某个操作,并在执行一定次数之后仍未达到预定要求时,提示出错信息或执行其他操作。此时,我们可以通过 while 循环结合 else 语句实现。
例如,我们建立一个计数器 count,循环执行 count 的加 1 操作,并检测 count 是否大于 10,如果大于则提示出错信息并退出循环,否则继续执行:
count = 0
while count < 10:
count += 1
if count == 15:
print("Error: count is greater than 10.")
break
else:
print("count is", count)
上面的代码中,count 最终的值等于 10,因为 while 循环正常结束后执行了 else 语句下面的代码块。
如果我们将 count 的初始值设为 5:
count = 5
则执行结果为“count is 10.”,因为 while 循环执行了 5 次后 count 大于 10,循环结束后执行了 else 语句下面的代码块。
3. 代码案例
完整的代码案例如下所示:
#使用 for 循环查找列表
lst = [1, 2, 3, 4, 5]
elem = 7
for i in lst:
if i == elem:
print("Element found!")
break
else:
print("Element not found!")
#使用 while 循环计数器
count = 0
while count < 10:
count += 1
if count == 15:
print("Error: count is greater than 10.")
break
else:
print("count is", count)
执行结果为:
Element not found!
count is 10
4. 总结
本文详细解释了 Python 中 else 语句在循环中的运用,并通过实例介绍了 else 语句在查找列表中的元素以及在循环执行到一定次数仍未达到预定要求时的应用场景。通过灵活运用 else 语句,在编写复杂程序时可以更加简洁高效,提高代码的可读性和维护性。