如何让循环内的函数不受循环条件限制执行?
实现方案存在,两种常见写法
要实现不管while循环的x < y条件是否满足,都能执行原循环内的print(x, y)(连带原循环里的x更新逻辑),完全可以做到,Python里可以通过以下两种方式模拟“先执行再判断”的逻辑:
先执行一次循环体,再判断循环条件
把原循环体的代码先单独执行一遍,之后再用while判断是否需要继续循环:x = 10 y = 20 # 先执行一次原本循环内的操作 x = x + (y - x) print(x, y) # 后续满足条件则继续循环 while x < y: x = x + (y - x) print(x, y)用无限循环+内部break实现do-while逻辑
Python没有原生的do-while循环,但可以用while True创建无限循环,在循环内部执行完操作后,判断是否需要退出:x = 10 y = 20 while True: x = x + (y - x) print(x, y) # 不满足原循环条件时退出 if not x < y: break
两种方式都能保证:无论初始的x和y是否满足x < y,都会至少执行一次print(x, y)以及原循环里的x更新操作。
内容的提问来源于stack exchange,提问作者Joonas
相关产品推荐
相关产品推荐

