Skip to main content

Schleifen

Schleifen

Schleifen wiederholen Code, der in ihnen enthalten ist. Jeder Durchlauf einer Schleife nennt heißt "Iteration". Dabei gibt es zwei grundsätzliche Möglichkeiten: 

Schleifen prüfen mit jedem Durchlauf, ob eine Bedingung erfüllt/nicht erfüllt ist und brechen gegebenenfalls ab, oder sie zählen bis zu einem bekannten Wert und brechen dann ab. Die erste Möglichkeit wird durch eine While-Schleife reallisiert.

While-Schleifen

In dem folgenden Beispiel ist eine Endlosschleife dabei. Das bedeutet, dass das Programm nie normal beendet wird. Du musst daher das Programm selbst beenden, in dem du auf den Stop-Knopf drückst, der neben dem Code oder in der oberen Menüleiste erscheint.

import time
i=0
while i < 10:
  i+=1 # Hier wird der Wert der Variablen i um 1 erhöht. Man kann das auch so schreiben: i = i + 1
  print(i)
print("Die Schleife ist durchgelaufen.")

# Dieser Code wird unendlich lange ausgeführt, da die Bedingung immer wahr ist. 
while True:
  print("Schleifendurchlauf")
  time.sleep(0.1)

Schreibe in die Bedingung der zweiten while-Schleife andere Bedingungen, die immer wahr sind. Z. B. 1==1 oder 2+3==5. Das Gegenteil von Trueist übrigens False. Jede Bedingung, die überprüft wird, endet immer in entweder Trueoder False.

For-SchleifeSchleifen

Bei For-Schleifen ist beim ersten Durchgang schon klar, wie viele Iterationen es geben wird. Im ersten Beispiel wird von 0 bis 9 gezählt. Das erledigt die Funktion range(). In den anderen Beispieln wird bei jedem Durchgang ein Element einer Liste ausgegeben und beim letzen Beispiel werden die Buchstaben im String s einzeln ausgegeben.

# Diese Schleife wird 10x ausgeführt. Gleichzeitig steht in jedem Durchlauf der Zähler i zur Verfügung, der jeweils um eins erhöht wird. 
for i in range (10):
  print(i)
  pass 
print("Die Schleife ist durchgelaufen.")

fruit = ["Apples", "Bananas", "Raspberries"] # [1] 
for x in fruit:
  print(x)

## Iteration über einen String
s = "Theodor-Heuss-Schule"
for i in s:
    print(i)

Eine Schleife kann nicht leer sein, da Python keine Klammern verwendet, um Bereiche zu kennzeichnen. Daher wird der pass-Befehl verwendet, der nichts tut und damit eine Zeile markiert.

While-Schleife

Dieser Code wird 10x ausgeführt. Auch hier steht der Zähler i zur Verfügung.

i=0
while i < 10:
  i+=1
print("Die Schleife ist durchgelaufen.")

# Dieser Code wird unendlich lange ausgeführt, da die Bedingung immer wahr ist. 
while True:
  pass
print("Ich werde nie angezeigt.")

[1] Information zu Listen