Zum Hauptinhalt springen
Version: 28Gj

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.

Entscheidung zur Laufzeit

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 als 2?
Geschrieben 4 < 2
Antwort: "Nein", oder in Python False

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 als 2?
Geschrieben x < 2
Abhängigkeit: Welcher Wert ist zum Zeitpunkt des Vergleichs in der Variable x gespeichert?
Antwort: "Ja" (True) oder "Nein" (False)
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 = 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.

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

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

Ratespiel

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.

  1. 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...
  2. Zeichnen Sie mit ihrer Pultnachbar:in ein Struktogramm für das Programm und halten Sie ein Foto davon fest.

    Laden...
  3. 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

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.

Laden...
Laden...