Tagebuch-Eintrag #10
if-Bedingung – wenn, dann
Bisher waren die Daten und Python-Befehle sehr starr und die Entscheidung, lag mehr oder wenig immer bei mir, was angezeigt werden soll.
Zur Programmierung gehört es unweigerlich, dass der Computer oder das Programm entscheiden soll, welche Befehle ausgeführt werden, abhängig von den Eingaben des Anwenders.
Und der if-Befehl gehört meiner Meinung nach zu den am meisten verwendeten Befehle. Nicht nur bei Python. Bei WordPress-Entwicklungen kam es auch bei PHP oft zum Einsatz. Es ist also nichts neues für mich. Trotzdem werde ich bei Python nicht überspringen, sonder auch üben. Sei auch nur wegen Python-Code schreiben.
if else Anweisungen
Bei meiner Übung, gibt der Anwender zwei Zahlen ein, die miteinander verglichen werden. Zahl 1 (input_number) ist größer, kleiner oder gleich Zahl 2 (end_number). Mein Python-Code mit den if-Anweisungen sieht so aus:
input_number = input("Eine Zahl eingeben: ")
end_number = input("Eine Zahl eingeben: ")
if input_number > end_number:
print("Die Zahl", input_number, "ist größer als", end_number)
elif input_number < end_number:
print("Die Zahl", input_number, "ist kleiner als", end_number)
else:
print("Die Zahl", input_number, "ist genau so groß wie", end_number)
Und Anhang der Ausgabe im Terminal, sehe ich, dass es funktioniert.

Soweit, so gut. In meinem Tagebuch-Eintrag #6 zum Lückentext, hatte ich einen Python-Code geschrieben, welches ich nur mit if-Anweisungen ergänzen wollte. Dies habe ich nun getan und hier ist der Code dazu:
# Übungen mit input() - MADLIPS
your_name=input('Dein Name: ')
age=input("Dein Alter: ")
hobby=input("Hobbys: ")
color=input("Lieblingsfarbe: ")
print("\n")
# Lückentext Ausgabe
print("Hallo", your_name + ".")
print("Du bist", age, "Jahre alt.")
full_age = 18
if age >= str(full_age):
print("Du bist schon volljährig.")
else:
print("Du bist noch nicht volljährig")
print("Deine Hobbys sind", hobby, "und deine Lieblingsfarbe ist", color + ".")
my_color = "blau"
if my_color == color:
print("Toll! Meine Lieblingsfarbe ist auch", my_color)
else:
print("Ich mag", color, "nicht. Meine Lieblingsfarbe ist", my_color)
Ich der Zeile 10 habe ich die Variable full_age erstellt und der Zahl 18 zugewiesen. Die if-Anweisung bei Zeile 11 bis 14 prüft das eingegebene Alter und gibt dann den String zurück „Du bist schon volljährig“ bzw. „Du bist noch nicht volljährig, wenn das eingegebene Alter kleiner bzw. größer als 18 ist.
In der Zeile 17 habe ich eine Variable my_color erstellt und den Wert „blau“ zugewiesen. Danach wird in der if-Anweisung geprüft ob die eingegebene Farbe blau ist oder nicht. Ist es der Fall, so wird der String „Toll! Meine Lieblingsfarbe ist auch blau“ ausgegeben. Ansonsten (else-Anweisung) wird verneint, dass ich die eingegebene Farbe nicht mag und meine Lieblingsfarbe blau ist.
Klingt nach viel Text. Ist aber recht einfach zu verstehen.

if elif else mit Taschenrechner
Während if-else nur zwei Zustände berücksichtigt (if = wenn; else = andernfalls), gibt es für die if-Bedingung noch eine weitere Möglichkeit, die sich elif nennt. Sinngemäß heißt das ganze dann: if = wenn; elif = wenn nicht, dann; else = andernfalls.
Ein kleiner Taschenrechner ist mir als erstes in den Sinn gekommen um das ganze zu üben. Mein Python-Code:
# Taschenrechner Übung mit if-elif-else-Anweisungen
zahl1 = float(input("Erste Zahl: "))
operator = input("Rechenart (+, -, *, /):")
zahl2 = float(input("Zweite Zahl: "))
if operator == "+":
print(zahl1 + zahl2)
elif operator == "-":
print(zahl1 - zahl2)
elif operator == "/":
print(zahl1 / zahl2)
elif operator == "*":
print(zahl1 * zahl2)
else:
print("Ungültige Rechenart")
Der Anwender gibt insgesamt zwei Zahlen ein und welche Rechenart verwendet werden soll. Ist die Rechenart nicht bekannt, z.B. durch eine ungültige Eingabe, so wird zum Schluss die else-Anweisung ausgeführt, welches die Meldung „Ungültige Rechenart“ ausgibt.
Mit den if-elif-else Anweisungen kann man schon recht viele Situationen abfangen.
Wenn ich mir den Code so anschauen, müsste nach der else-Anweisung der Taschenrechner neu starten. Aber gut, das ist ein anderes Kapitel.