Zum Hauptinhalt springen
26P

8. Bedingte Ausführung ⑂

Einer 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. Auch möchten wir 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. Beispielsweise wird die Frage "Ist 4 kleiner als 2?" als 4 < 2 aufgeschrieben. Die offensichtliche Antwort ist "Nein" und entspricht in Python dem Wert False. Spannender sind vergleiche, wenn diese mit Variablen durchgeführt werden, da man nicht schon im Voraus weiss, welcher Wert in einer Variable enthalten ist. Die Frage von "Ist x kleiner als 2" (x < 2) hängt also davon ab, welcher Wert zur Zeit in der Variable x gespeichert ist.

alter = Wie alt bist du?
Ist das alter kleiner als 14?
Ausgabe: Du darfst Velo fahren
Sonst, ist das alter kleiner als 16?
Ausgabe: Du darfst Töffli fahren
Sonst, ist das alter kleiner als 18?
Ausgabe: Du darfst Roller fahren
Sonst
Ausgabe: Du darfst Auto fahren
alter = int(input('Wie alt bist du?'))

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 Vergleiche von zwei Werten geschrieben werden.

NameMathematischPython
grösser<\lt<
kleiner>\gt>
grösser\leq<=
kleiner\geq>=
gleich======
ungleich\neq!=
Achtung

Bei der Überprüfung auf Gleichheit werden zwei Gleichheitszeichen == geschrieben.

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 wird.

alert

Mit dem Befehl alert aus der Bibliothek browser können Ausgabeboxen erzeugt werden.

from browser import alert
alert('Hello!')

Zufallszahlen erraten

Ratespiel

Probieren Sie das Ratespiel aus:

  1. Beschreiben Sie in eigenen Worten, wie das Ratespiel funktioniert.

  1. Zeichnen Sie mit ihrer Pultnachbar:in ein Struktogramm für das Programm.

  2. 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.

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.

SSR