7. Bedingte Ausführung ⑂
Ein- oder mehrere Schritte werden nur ausgeführt, wenn eine bestimmte Bedingung erfüllt ist.
In Programmen möchten wir während der Ausführung des Programms entscheiden können, ob Befehle ausgeführt werden oder nicht.
Beim schreiben des Programms ist noch nicht bekannt, ob die Bedingung erfüllt ist oder nicht. Die Entscheidung wird erst zur Laufzeit des Programms getroffen.
Später möchten wir auch entscheiden können, ob eine Wiederholung abgebrochen werden soll.
Vergleichen
Um zu entscheiden, ob Befehle ausgeführt werden sollen, wird immer eine eine Frage gestellt, die eindeutig mit "Ja" oder "Nein" beantwortet werden kann. Wird die Frage mit "Ja" beantwortet, so ist diese Aussage Wahr und die Bedingung ist erfüllt. Andernfalls ist die Aussage Falsch und die Bedingung ist nicht erfüllt.
Ein Frage kann als Vergleich geschrieben werden.
- Ist
4
kleiner als2
? - Geschrieben
4 < 2
- Antwort: "Nein", oder in Python
False
- Antwort: "Nein", oder in Python
Spannender sind Vergleiche, wenn diese mit Variablen durchgeführt werden, da man nicht schon im Voraus weiss, welcher Wert zur Laufzeit in einer Variable enthalten sein wird.
- Ist
x
kleiner als2
? - Geschrieben
x < 2
- Abhängigkeit: Welcher Wert ist zum Zeitpunkt des Vergleichs in der Variable
x
gespeichert?- Antwort: "Ja" (
True
) oder "Nein" (False
) - Abhängigkeit: Welcher Wert ist zum Zeitpunkt des Vergleichs in der Variable
alter = input('Wie alt bist du?')
alter = int(alter)
if alter < 14:
print('Du darfst Velo fahren')
elif alter < 16:
print('Du darfst Töffli fahren')
elif alter < 18:
print('Du darfst Roller fahren')
else:
print('Du darfst Auto fahren')
In Python können alle üblichen Fragen als ein Vergleiche von zwei Werten geschrieben werden.
Name | Mathematisch | Python |
---|---|---|
grösser | < | |
kleiner | > | |
grösser oder gleich | >= | |
kleiner oder gleich | <= | |
gleich | == | |
ungleich | != |
Bei der Überprüfung auf Gleichheit werden zwei Gleichheitszeichen ==
geschrieben (das einfache Gleichheitszeichen =
wird für die Zuweisung von Werten an Variablen verwendet).
Ausgabefenster
In Python lassen sich Ausgaben nicht nur mit print
sondern auch mit dem Befehl alert()
(aus der Bibliothek browser
) in einer Ausgabebox anzeigen. Die Ausgabe mit alert
wird hier verwendet, weil die Online-Version von Python die Ausgaben mit print
erst am Ende des Programms anzeigt.
alert
Mit dem Befehl alert
aus der Bibliothek browser
können Ausgabeboxen erzeugt werden.
from browser import alert
alert('Hello!')
Zufallszahlen erraten
Wenn Sie auf den grünen Knopf klicken, startet ein Ratespiel. Probieren Sie es aus und finden Sie heraus, was es macht und wie es funktioniert.
-
Beschreiben Sie in eigenen Worten, wie das Ratespiel funktioniert.
- Was passiert, wenn die Zahl gefunden wurde?
- Was passiert, wenn die Zahl nicht gefunden wurde?
- Wie viele Versuche hat die Spieler:in?
Laden... -
Zeichnen Sie mit ihrer Pultnachbar:in ein Struktogramm für das Programm und halten Sie ein Foto davon fest.
Laden... -
Schreiben Sie gemäss dem Struktogramm das Ratespiel in Python.
from browser import alert
from random import randint
Hinweis
Wenn die Zahl gefunden wurde, soll die Spieler:in nicht mehr nach einer Eingabe gefragt werden. Mit dem Befehl break
kann die Wiederholung abgebrochen werden. Studieren Sie die Definition von break
und überlegen Sie, wo es im Programm eingesetzt werden könnte.
break
break
break
Mit break
kann eine Wiederholter Codeblock beendet werden. Die Ausführung geht mit der nächsten Zeile nach dem Codeblock weiter.
Beispiel
for i in range(10):
print('Zahl', i)
if i == 4:
break
print('Ende')
Bemerke: Bei i == 4
wird break
aufgerufen und das Programm führt als nächstes die Zeile 5 aus.