2011-06-23 5 views

答えて

9
while True: 
    #loop body 
    if (!condition): break 
+1

これは私がすでに使っていたものですが、それほどエレガントではありません。 – Trindaz

+2

@ Trindaz:Yet Another Looping Syntaxを使うと、*言語*があまり優雅にならないと主張できます。上記の構文はあまり冗長でも理解しにくいものでもないので、より多くの構文を持っている場合はあまり魅力的ではありません。また、Python開発者がdo-whileを追加することについて議論してきました。結論として、この答えで与えられたイディオムよりも、Pythonの既存の構文に合うような良い方法はありません。 –

+0

キーワード 'dowhile'があり、その構文が' while 'と構文的に同じだが、違いは最初にループを走らせるというものだった。 –

1

あなた試みることができる:

def loop_body(): 
    # implicitly return None, which is false-ish, at the end 


while loop_body() or condition: pass 

しかし、現実的に、私はそれを行うだろうと思います反対に。実際には、とにかくそれを頻繁に必要としません。 (考えているよりも少なくても、他の方法でリファクタリングしてみてください)

関連する問題