Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
pythonicdo-while循环_Python_Do While - Fatal编程技术网

pythonicdo-while循环

pythonicdo-while循环,python,do-while,Python,Do While,虽然python不明确允许do While循环,但至少有3种合理的方法可以实现它们: (一) (二) (三) 更不用说提到的其他方法(例如,协程、try-except子句、迭代器等),我假设这些方法在大多数情况下都是非pythonic的。我甚至看到一些答案认为do-while循环不是pythonic循环,但我不知道通用的替代方法 哪一种方法最适合做python?它们都有自己的奇怪之处:1)从一个无限循环开始,2)首先创建一个不透明变量,3)定义一个新函数。有谁有更好的方法吗?这将关闭,因为它的主

虽然python不明确允许do While循环,但至少有3种合理的方法可以实现它们:

(一)

(二)

(三)

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


哪一种方法最适合做python?它们都有自己的奇怪之处:1)从一个无限循环开始,2)首先创建一个不透明变量,3)定义一个新函数。有谁有更好的方法吗?

这将关闭,因为它的主观。。。但是2是最具python风格的,我认为这在很大程度上取决于
expr
的实际实现方式,以及您希望从中得到什么。略微相切:最近在python列表上有一个长时间的讨论,关于一个建议来取代所有这些。不过,这似乎不太可能实现。更高阶的
dowhile
函数?对“while表达式”(实际上是一个语句……但不要紧)有两种反应,即@ZeroPiraeus链接直接说#1是惯用方式,并解释为什么…
while True:
    #loop body
    if not expr():
        break
x = True
while x:
    #loop body
    x = expr()
def f():
    #loop body

f()
while expr():
    f()