2016-06-24 2 views

Antwort

6

Nein, nichts hält Sie davon ab. Ihr Beispiel an und für sich ist ein Beweis.

Obwohl eine bessere Praxis wäre, eine while True: Schleife und break unter einer Bedingung zu verwenden. Da Ihre Schleifenbedingung selbst anfällig für Änderungen ist, ist sie überhaupt keine invariante Bedingung. Daher schlage ich vor, Sie tun:

i = 0 
target = 10 
while True: 
    print i 
    i = i + 1 

    # If i hits 9 at any point, change target 
    if i == 9: 
     target = 20 

    # If i ever hits the target, break 
    if i >= target: 
     break 
+0

Ich wollte nur sicherstellen, dass es nicht nur funktioniert, aber auch ist gut - oder zumindest nicht schlecht - Praxis. In der Tat schlägt Ihre Antwort vor, dass es vielleicht eine bessere Lösung gibt ... :-) Danke. – Troas

Verwandte Themen