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) 新しい関数を定義する、という奇妙な点があります。誰かがより良い方法を持っていますか?