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!