python中循环语句配合else使用的意义

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/rusi__/article/details/102673949

意义

意义就是:在非正常情况下退出循环(break)的时候不会调用else里面的语句,会直接往后执行。从而确定了正常的时候该做什么事,不正常的时候又该做什么事。

代码片1没有break的时候语句执行完执行else内容

for i in range(10):
    if i == 5:
        print( 'found it! i = %d' % i)
    print(i)
else:
    print('循环执行完了,该执行我了')
print("正常的代码")
# 0
# 1
# 2
# 3
# 4
# found it! i = 5
# 5
# 6
# 7
# 8
# 9
# 循环执行完了,该执行我了
# 正常的代码

代码片2有break的时候不会执行else里面的代码

for i in range(10):
    if i == 5:
        print( 'found it! i = %d' % i)
        break
    print(i)
else:
    print('循环执行完了,该执行我了')
print("正常的代码")

# 0
# 1
# 2
# 3
# 4
# found it! i = 5
# 正常的代码

代码3有continue的时候仍会执行else里面的代码

for i in range(10):
    if i == 5:
        print( 'found it! i = %d' % i)
        continue
    print(i)
else:
    print('循环执行完了,该执行我了')
print("正常的代码")
# 0
# 1
# 2
# 3
# 4
# found it! i = 5
# 6
# 7
# 8
# 9
# 循环执行完了,该执行我了
# 正常的代码

代码4有raise直接pass后面除了异常语法外所有的语句

try:
	for i in range(10):
	    if i == 5:
	        print( 'found it! i = %d' % i)
	        raise Exception("主动抛出异常")
	    print(i)
	else:
	    print('循环执行完了,该执行我了')
	print("正常的代码")
except Exception as e:
	print(e)
# 0
# 1
# 2
# 3
# 4
# found it! i = 5
# 主动抛出异常

补充

  • break终止循环,continue终止本次循环。
  • 主动抛出异常最后打印出来的那个e。这个e其实就是实例化Exception这个类的一个对象。具体参考:python中的异常

猜你喜欢

转载自blog.csdn.net/rusi__/article/details/102673949