Variablen und Anweisungen | Python-Kurs | Schleife while |
Inhalt dieser Seite
- Abfrage if
- Andernfalls else
- Andernfalls wenn: elif
- Der Befehl pass
- Boolesche Ausdrücke
- Übungsaufgaben
Abfrage if
Ein Programm muss auf Bedingungen reagieren können. So sollte beispielsweise eine Division durch 0 tunlichst vermieden werden. Python bietet für diese Zwecke den Befehl if an.Auf den Befehl if folgt immer eine Bedingung und ein Doppelpunkt.
if nenner != 0:
- Die Kombination != steht für ungleich.
- Gleichheit wird mit zwei Gleichheitszeichen (==) ausgedrückt.
- Größer ist >, größer oder gleich die Kombination >=.
- Kleiner ist analog <, kleiner oder gleich die Kombination <=.
if nenner != 0: quotient = zaehler / nennerDabei bleiben alle folgenden Befehle unter der Bedingung, solange die Einrückung in der gleichen Tiefe eingehalten wird.
Andernfalls else
An den Befehl if kann hinter die eingerückten Zeilen der Befehl else gesetzt werden. Dieser behandelt dann den umgekehrten Fall. Beispielsweise könnte er eine Fehlermeldung ausgeben und die Variable auf 0 setzen.if nenner != 0: quotient = zaehler / nenner else: print("Division durch 0!") quotient = 0In manchen Fällen gibt es aber mehr als zwei Fälle, beispielsweise, wenn ein Fahrstuhl für jedes Stockwerk einen anderen Text ausgeben soll. Oder wenn Sie untersuchen wollen, ob eine Zahl positiv, negativ oder 0 ist. Das könnten Sie einfach realisieren, in dem Sie hinter dem Befehl else ein neues if aufsetzen.
if x>0: print("Die Zahl ist positiv") else if x==0: print("Die Zahl ist 0") else: print("Die Zahl ist negativ")
Andernfalls wenn: elif
Python stellt aber eine Kombination von else und if in Form des Befehls elif zur Verfügung. Das erspart das sehr weite Einrücken, das bei einem Fahrstuhl mit 50 Stockwerken erforderlich wäre.if x>0: print("Die Zahl ist positiv") elif x==0: print("Die Zahl ist 0") else: print("Die Zahl ist negativ")
Der Befehl pass
Der Befehl pass tut nichts und kann darum sehr gut eingesetzt werden, wenn eine Einrückung erforderlich ist, aber die Implementierung noch fehlt.if x==0: pass
Boolesche Ausdrücke
Die Literale der booleschen Ausdrücke sind True und False. Die Großbuchstaben sind wichtig und eine leichte Fehlerquelle, weil andere Programmiersprachen beides gern kleinschreiben.Boolesche Werte können natürlich auch in Variablen gespeichert werden. Ihr Typ ist bool.
Die mathematischen Operatoren wurden schon erwähnt:
!= | ungleich |
== | gleich |
< | kleiner |
> | größer |
<= | kleiner oder gleich |
>= | größer oder gleich |
String-Vergleiche
Auch Zeichenketten können auf Gleichheit verglichen werden. Mit Größer- und Kleinerzeichen können Sie auch die alphabetische Reihenfolge ermitteln, also Zeichenketten vergleichen. Allerdings wird die Reihenfolge durch die interne Zeichenkodierung bestimmt. Nach dieser sind Großbuchstaben kleiner als Kleinbuchstaben, sodass überraschenderweise Zitrone vor ananas einsortiert wird.Für Zeichenketten gibt es mit in eine besonderen Operator, der prüft, ob eine Zeichenkette in einer anderen Zeichenkette enthalten ist.
if "sen" in Name: print("Norddeutscher Adel")
Komination boolescher Ausdrücke
Boolesche Ausdrücke können kombiniert werden:- and ist nur dann wahr, wenn die damit verbundenen Ausdrücke wahr sind.
- or ist wahr, wenn mindestens einer der damit verbundenen Ausdrücke wahr ist.
- not kehrt den Wahrheitswert in sein Gegenteil.
Nicht nur True, sondern alle Werte ungleich 0 werden als True betrachtet. Dagegen werden None, die leere Liste [], das leere Tupel () oder 0 als False behandelt. Lassen Sie sich nicht verwirren. Diese Begriffe werden Sie noch kennenlernen.
Bei Prüfung von and und or wird die Auswertung abgebrochen, sobald das Ergebnis sich nicht mehr ändern kann. Bei and wird beim ersten falschen Ausdruck der Gesamtausdruck False. Bei or wird beim ersten wahren Ausdruck der Gesamtausdruck True. Man spricht auch vom logischen Kurzschluss.
Übungsaufgaben
Schaltjahr berechnen
Alle vier Jahre gibt es ein Schaltjahr, also in jedem Jahr, das durch 4 teilbar ist. Dazu ist es hilfreich, wenn man sich errinnert, dass ein doppelter Schrägstrich eine ganzzahlige Division ist oder dass das Prozentzeichen für Modulo, also den Rest einer ganzzahligen Division steht.Es gibt da noch eine weitere Regel: Alle Jahre, die durch 100 teilbar sind, sind keine Schaltjahre.
Allerdings sind alle Jahre, die durch 400 teilbar sind, wieder Schaltjahre.
Schreiben Sie also ein Programm, dass anhand der Jahreszahl ermittelt, ob es ein Schaltjahr ist.
Maximum
Schreiben Sie ein Programm, das drei Variablen a, b und c miteinander so vergleicht, dass der maximale Wert angezeigt wird. Versuchen Sie mit drei if-Anweisungen und ohne and-Verknüpfung auszukommen.Body Mass Index BMI
Wer seinem Body-Shaming gern Zahlen zugrunde legt, kann den BMI zu Rate ziehen. Der BMI ist eine Zahl, die sich aus dem Gewicht ergibt, das durch das Quadrat der Größe ergibt.Der BMI kann folgenden Texten zugeornet werden:
BMI | Bedeutung |
---|---|
kleiner als 10 | nicht überlebensfähig |
kleiner als 12 | lebensbedrohlich |
kleiner als 16 | muss stationär behandelt werden |
kleiner als 19 | Untergewicht |
kleiner als 25 | Normalgewicht |
kleiner als 30 | Übergewicht |
kleiner als 35 | Adipositas Grad I |
kleiner als 40 | Adipositas Grad II |
ab 40 | Adipositas Grad III |
Der Kurs geht weiter mit der Schleife while. |