小编Chr*_*isM的帖子

Pythonic do-while循环

尽管python并未明确允许do-while循环,但至少有3种合理的方式来实现它们:

1)

while True:
    #loop body
    if not expr():
        break
Run Code Online (Sandbox Code Playgroud)

2)

x = True
while x:
    #loop body
    x = expr()
Run Code Online (Sandbox Code Playgroud)

3)

def f():
    #loop body

f()
while expr():
    f()
Run Code Online (Sandbox Code Playgroud)

更不用说这里提到的其他方法(例如协程,try-except子句,迭代器等),我认为它们在大多数情况下都是非Python的。我什至看到一些答案争辩说do-while循环不是Python的,但我不知道通用的替代方法。

哪种方法最适合pythonic?它们都有其独特之处:1)以无限循环开始,2)首先创建一个不透明变量,3)定义一个新函数。有谁有更好的方法?

python do-while

5
推荐指数
0
解决办法
2334
查看次数

标签 统计

do-while ×1

python ×1