Schleifen


Stelle sicher, dass alles innerhalb der Schleife um eine Stufe eingerückt ist!

For-Schleifen

Verwende for-Schleifen, wenn du etwas eine feste Anzahl von Malen wiederholen möchtest.

# Anstatt Code immer wieder zu wiederholen  
forward(10)  
left(90)  
forward(10)  
left(90)  
forward(10)  
left(90)  
forward(10)  
left(90)
# Verwende eine for-Schleife, um den Code zu wiederholen!  
for i in range(4):  
    forward(10)  
    left(90)

Du kannst die Variable i innerhalb der Schleife verwenden.
i beginnt bei 0 und geht bis zu ENDWERT-1 (der Wert in den Klammern nach range).

# Dies lässt Tracy 0, dann 1, dann 2 nach vorne bewegen  
for i in range(3):  
    forward(i) 
    left(90)
# Du kannst den Wert von i innerhalb einer for-Schleife mit mathematischen Ausdrücken ändern  
for i in range(3):  
    forward(i * 10)  
    left(90)

Du kannst den Wert von i auch mit erweiterten Parametern steuern:
for i in range(STARTWERT, ENDWERT, INKREMENT):

# Dies wird Tracy 30, 40, 50, 60 und 70 Pixel nach vorne bewegen  
for i in range(30, 80, 10):  
    forward(i)

Hinweis: Der Endwert ist nicht inbegriffen.

While-Schleifen

Verwende while-Schleifen, wenn du etwas eine unbekannte Anzahl von Malen wiederholen möchtest oder bis eine Bedingung falsch wird.
Wenn es keinen Punkt gibt, an dem die Bedingung falsch wird, erstellst du eine Endlosschleife, was immer vermieden werden sollte!

# Zeichne weiterhin Kreise, bis die Variable count größer als 5 ist  
# Wenn die Variable count nicht aktualisiert wird, tritt eine Endlosschleife auf  
count = 0  
while count <= 5:  
    circle(50)  
    count = count + 1

Du kannst auch Benutzereingaben verwenden, um eine while-Schleife zu steuern.

# Dieser Code wird weiter ausgeführt, solange der Benutzer 'Ja' antwortet  
should_continue = input("Code fortsetzen?: ")  
while should_continue == "Ja":  
    forward(10)  
    left(90)  
    should_continue = input("Code fortsetzen?: ")

Eine Bedingung, die wir verwenden können, ist while True:, die alleine eine Endlosschleife erzeugen würde, was wir nicht wollen.
Wenn wir diese Bedingung aber mit einer break-Anweisung irgendwo innerhalb der Schleife kombinieren, gibt es eine Möglichkeit, die Schleife zu verlassen, und die Endlosschleife kann unterbrochen werden.

# Dieser Code wird weiter ausgeführt, solange der Benutzer 'Ja' antwortet  
while True:  
    should_continue = input("Code fortsetzen?: ")  
    if not should_continue == "Ja":  
        break  # bricht die aktuelle Schleife ab
    else:  
        forward(10)  
        left(90)

Hinweis: Die break-Anweisung wird nicht von Klammern gefolgt.