5

Python は do-while ループを明示的に許可していませんが、少なくとも 3 つの合理的な実装方法があります。

1)

while True:
    #loop body
    if not expr():
        break

2)

x = True
while x:
    #loop body
    x = expr()

3)

def f():
    #loop body

f()
while expr():
    f()

ここで言及されている他のメソッド(コルーチン、try-except 句、イテレータなど) は言うまでもなく、ほとんどの条件下で非 Pythonic であると想定しています。do-while ループは非 Pythonic であると主張する回答もいくつか見られますが、一般的な代替手段はわかりません。

最もpythonicな方法はどれですか? 1) 無限ループで始まる、2) 最初に不透明な変数を作成する、3) 新しい関数を定義する、という奇妙な点があります。誰かがより良い方法を持っていますか?

4

0 に答える 0