总是至少执行一次的 Python 循环? [复制]
Posted
技术标签:
【中文标题】总是至少执行一次的 Python 循环? [复制]【英文标题】:Python loop that always executes at least once? [duplicate] 【发布时间】:2011-09-21 15:26:53 【问题描述】:可能重复:do-while loop in Python?
如何在 Python 中编写一个始终至少执行一次的循环,并在第一次迭代后执行测试? (与我通过 google 和 python 文档找到的 20 个 for 和 while 循环的 Python 示例不同)
【问题讨论】:
【参考方案1】:while True:
#loop body
if (!condition): break
【讨论】:
这是我已经在使用的,但它看起来不是很优雅。 @Trindaz:可以说,拥有另一种循环语法会使 语言 不那么优雅。上面的语法并不过分冗长或难以理解,因此拥有更多语法的情况并不是非常令人信服。此外,Python 开发人员已经讨论过添加 do-while,结论是没有很好的方法可以使其适合 Python 现有的语法,当然没有比这个答案中给出的习语更优雅了。 如果有一个关键字dowhile
的用法在语法上与while
相同,但区别在于它会先运行循环,我会使用它。【参考方案2】:
你可以试试:
def loop_body():
# implicitly return None, which is false-ish, at the end
while loop_body() or condition: pass
但实际上我认为我会以另一种方式来做。在实践中,你并不经常需要它。 (甚至比您想象的要少;尝试以其他方式重构。)
【讨论】:
以上是关于总是至少执行一次的 Python 循环? [复制]的主要内容,如果未能解决你的问题,请参考以下文章