关于broke_out = False的问题—Python基础教程(第三版)

要在循环提前结束时采取某种措施很容易,但有时候你可能想在循环正常结束时才采取某种措施。如何判断循环是提前结束还是正常结束的呢?可在循环开始前定义一个布尔变量并将其设置为False,再在跳出循环时将其设置为True。这样就可在循环后面使用一条if语句来判断循环是否是提前结束的。

  1. broke_out = False
  2. for x in seq:
  3. do_something(x)
    
  4. if condition(x):
    
  5.       broke_out = True
    
  6.       break
    
  7. do_something_else(x)
    
  8. if not broke_out:
  9.  print("I didn't break out!") 
    

第4,5,6,7行看不明白,第四行是什么意思?求解释一下,谢谢!

就是说如果是通过condition(x)这个分支提前跳出了循环, broke_out就会先被设置为True,而如果循环一直到结尾都没有提前跳出,就不会进入中间的if分支,此时broke_out为初始的False
这里的condition(x)指的是中途跳出条件,就是说循环中如果满足了这个条件就是用break提前结束循环,而不是在while中条件为false时结束循环
有帮助望采纳

第4行就是检查是否满足退出循环的条件,只不过把逻辑写进一个函数了