2011-06-23 62 views

回答

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

這就是我已經使用的,但它看起來並不很優雅。 – Trindaz

+2

@Trindaz:有人可能認爲擁有另一個循環語法使得*語言不那麼優雅。上面的語法不是過於冗長或難以理解,因此具有更多語法的情況並不是非常有說服力。此外,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 

但實際上,我想我會做另一種方法。在實踐中,無論如何你並不需要它。 (甚至比你想象的要少;嘗試以其他方式重構)。