Impressum
< Eingabe Inhalt while >

Bedingte Anweisungen

Oft ist es notwendig und sinnvoll Anweisungen in einem Programm nur auszuführen, wenn gewisse Bedingungen erfüllt sind. Zum Beispiel ist es nicht sinnvoll die Nullstelle einer Geraden mit Steigung 0 zu berechnen oder die einer Parabel, wenn der Term unter der Wurzel negativ ist.
Auch der Zugriff auf einen Computer darf nur gewährt werden, wenn das eingegebene Passwort mit dem gespeicherten übereinstimmt.
Um Anweisungen nur auszuführen wenn eine Bedingung erfüllt ist gibt es die if‐Anweisung. Eine Bedingung ist immer entweder wahr (true) oder falsch (false). Jeder Vergleich zweier Zahlen oder Variablen kann entweder wahr oder falsch sein und kann somit als Bedingung verwendet werden.

Vergleichsoperatoren in Python

Um zwei Werte oder Variablen zu verglichen stellt man einen Vergleichsoperator zwischen sie.
Vergleichsoperatoren
Operator Bedeutung Beispiel
== Gleich (wahr, wenn beide Seiten den gleichen Wert haben) x==0
!= Ungleich (wahr wenn beide Seiten ungleiche Werte besitzen) pwd != "123456"
< kleiner 0<x
> größer a>b
<= Kleiner oder gleich zahl <=0
>= größer oder gleich 1>=wert

Aufbau einer einfachen if-Anweisung

Eine if-Anweisung beginnt mit dem Schlüsselwort if, gefolgt von einer Bedingung und einem Doppelpunkt.
Der Code der nur ausgeführt wird, wenn die Bedingung wahr ist wird eingerückt.
Danach folgt ggf. nicht eingerückter Code, welcher zum Hauptprogramm gehört.

Einseitiges if

eingabe = input("zahl: ")
x = float(eingabe)
if x>0:
    print("x ist positiv")
print("Ende")

Ausgabe bei positiver Eingabe:
>>> %Run if01.py
zahl: 3
x ist positiv
Ende

Ausgabe bei negativer Eingabe:
>>> %Run if01.py
zahl: -4.1
Ende
Beachte: "Ende" wird immer ausgegeben, "x ist positiv" wird nicht immer ausgegeben.

Wenn-sonst, das zweiseitige if

Will man auch Code ausführen, wenn die Bedingung im if nicht erfüllt ist, so fügt man nach dem if-Teil einen else-Teil an.
Auch die Anweisungen im else-Teil müssen eingerückt werden.
Dem else folgt immer ein Doppelpunkt.

Ein Beispiel für ein if-else

if x>0:
    print("x ist positiv")
else:
    print("x ist nicht positiv")

Mehrseitiges if

Manchmal reicht eine Unterscheidung von zwei Fällen nicht. Daher kann in Python einem if nicht nur ein else folgen. Zwischen if und else können beliebig viele elif (kurz für else if) stehen.
Ein elif hat den Aufbau:
elif Bedingung:

Ein Beispiel für ein if-else

if x>0:
    print("x ist positiv")
elif x<0:
    print("x ist negativ")
else:
    print("x ist 0")

Aufgaben

  1. Schreiben Sie ein Programm zur Volljährigkeitskontrolle. Dies fragt das Alter des Benutzers ab (als ganze Zahl) und gibt aus ob der Benutzer volljährig ist oder nicht.
  2. Schreiben Sie ein Programm, welches zwei Komma‐Zahlen (float) vom Benutzer einliest und den Quotienten berechnet, wenn der Teiler ungleich 0 ist.

    Erweitern Sie Ihr Programm so, dass es bei einer Teilereingabe von 0 eine Fehlermeldung auf der Konsole ausgibt.
  3. Schreiben Sie ein Programm zur Berechnung der Anzahl von Nullstellen einer Parabeln f(x)=ax2+bx+c.
    Zuerst lesen Sie vom Benutzer die Werte von a, b und c ein. Daraus berechnen Sie die Diskriminante D=b 2‐4ac.
    Ist D < 0 geben Sie keine Nullstelle aus,
    ist D = 0 so geben Sie die eine Nullstelle aus und
    ist D > 0 geben Sie zwei Nullstellen aus.
  4. Erweitern Sie ihr Programm aus der vorigen Aufgabe so, dass es die Nullstellen mit ausgibt.
    \(x_{0,1}=\frac{-b\,\pm\,\sqrt{b^2-4ac}}{2a}\)
    Da Sie \(D=b^2-4ac\) bereits berechnet haben ist die Formel: \(x_{0,1}=\frac{-b\,\pm\,\sqrt{D}}{2a}\).
    Wurzel: Wie wir eine Wurzel ziehn wissen wir nicht, außer wir errinnern uns daran, dass \(\sqrt x = x^{0{,}5}\) ist. Und hoch-rechnen können wir mit **.
  5. Überlegen Sie sich eigene Programmideen, setzten Sie diese um und haben Sie Spaß dabei.