Zum Inhalt

Kontrollstrukturen

Nehmen wir mal an, der x-Wert sei grösser als 1000. Wie kann man ab diesem Wert eine spezielle Programmsequenz ablaufen lassen?

Kontrollstrukturen

Dazu werden sogenannte Kontrollstrukturen benötigt, bspw. "Falls x grösser als 1000 ist, mach dies". Ein solcher Anweisungsblock muss in Python eingerückt sein (in anderen Programmiersprachen werden häufig geschweifte Klammern verwendet).

Im folgenden Beispiel wird die Geschwindigkeit auf 20 gesetzt, sobald x grösser als 1000 ist. Der Code nach dem if ist mit 2 Leerzeichen eingerückt. Es wäre auch ok, mit dem Tabulator einzurücken. Der gesamte Code, der eingerückt ist, wird ausgeführt, falls x grösser als 1000 ist.

if x > 1000:
  print('x ist grösser als 1000')
  speed = 20

> ist ein sogenannter logischer Operator. Es gibt noch andere, wie gleich == und ungleich !=. == prüft, ob Werte gleich sind. Ist dies der Fall, so wird True zurückgegeben, ansonsten False.

>>> x = 900
>>> x == 1000
False

Man kann auch mehrere Bedingungen hinzufügen und bestimmen, was passieren soll, wenn keine der Bedingungen erfüllt ist:

if x > 1000:
  speed = 20
elif x > 900:
  speed = 10
else:
  speed = 30

Mit Hilfe einer Schleife können Anweisungen wiederholt werden. Es gibt mehrere Möglichkeiten, Schleifen umzusetzen. Man kann bspw. einen Zähler verwenden. Dazu verwenden wir range:

for i in range(0, 10):
  print (i)

Manchmal weiss man nicht, wie oft eine Anweisung wiederholt werden muss. Dann kann man while verwenden und eine Abbruchbedingung hinzufügen:

while x < 1000:
  speed += 1
  # alternativ: speed = speed + 1

Was macht der obige Code? "Solange x kleiner als 1000 ist, erhöhe die Geschwindigkeit um 1"

Übung

Wende in einem kleinen Programm die neu gelernten Syntaxelemente an!