Schau dir dieses Video an. Es hilft dir, ins Thema einzusteigen.
In vielen Situationen reicht es nicht aus, dass ein Programm einfach nur Daten verarbeitet oder ausgibt. Manchmal soll es Entscheidungen treffen, je nachdem, was eingegeben oder berechnet wurde.
Beispiel:
Lisa hat ihren Computer so programmiert,
dass er sie erkennt und begrüßt, wenn sie sich als Lisa vorstellt.
Alle anderen Personen gehen leer aus. Wie funktioniert das? Bei
if prüft der Computer die Bedingung, ob
der Wert der Variable name gleich "Lisa" ist. Nur wenn das der Fall ist, führt er
den eingerückten Code darunter aus und schreibt die Begrüßung
hin.
= input("Wie ist dein Name? ")
name if name == "Lisa":
print("Hallo, Lisa!")
print("Schön, dass du da bist.")
Python nutzt Einrückungen (Leerzeichen am Anfang einer Zeile), um den Gültigkeitsbereich im Code zu definieren. Andere Programmiersprachen verwenden oft geschweifte Klammern {} für diesen Zweck.
if-Anweisung ohne Einrückung führt zu einem Fehler:
= input("Wie ist dein Name? ")
name if name == "Lisa":
print("Hallo, Lisa!")
print("Schön, dass du da bist.")
Probiere das Beispiel aus. Schreibe dein eigenes Begrüßungsprogramm. Denke daran, dass für den Vergleich nach if unbedingt das doppelte Gleichheitszeichen == erforderlich ist, um den richtigen Vergleich durchzuführen.
Beispiel
Neben Lisa verwendet auch ihr Bruder Fred
den Computer. Das Programm soll also nicht nur Lisa, sondern auch
Fred begrüßen. Damit sieht das Programm so aus:
= input("Wie ist dein Name? ")
name if name == "Lisa":
print("Hallo Lisa!")
print("Schön, dass du da bist.")
if name == "Fred":
print("Hallo Fred,")
print("Willkommen zurück!")
Erklärung: Zuerst fragt der Computer mit input nach dem Namen und speichert die Antwort in der Variable name. Dann prüft er, ob der Name "Lisa" ist. Wenn das nicht der Fall ist, überspringt der Computer alles, was unter if name == "Lisa": eingerückt steht. Als Nächstes prüft der Computer, ob der eingegebene Name "Fred" ist. Wenn ja, begrüßt er Fred. Ansonsten überspringt er wieder alles, was eingerückt ist.
Behalte die folgenden Konzepte und Befehle im Hinterkopf, um die Aufgaben erfolgreich zu lösen:
if Bedingung:
Nach if gibst du in der Bedingung an, was der
Computer prüfen soll. Zum Beispiel prüft if x
< 5, ob der Wert von x kleiner
ist als 5. if y >=
7 prüft, ob der Wert von y größer
oder gleich 7 ist. Nach der Bedingung
steht immer ein Doppelpunkt. Darunter steht eingerückt, was der
Computer tun soll, wenn die Bedingung erfüllt ist. Wenn die
Bedingung nicht erfüllt ist, dann überspringt der Computer alle
eingerückten Zeilen.
if Variable == Wert
Wenn
du in einem Vergleich prüfen möchtest, ob eine Variable einen
bestimmten Wert hat, musst du ein doppeltes Gleichheitszeichen
verwenden. Wenn der Wert ein Text ist, dann muss der Text in
Anführungszeichen stehen. Wenn der Wert eine Zahl ist, dürfen keine
Anführungszeichen stehen.
if Variable != Wert
Wenn du prüfen möchtest, ob der Wert einer Variable von einem
bestimmten Wert verschieden ist, dann verwendest du statt == die zwei Zeichen !=. Sie stehen für “ungleich”.
Zusammengefasst unterstützt Python die folgenden logischen Bedingungen:
Aufgabe 1
Schreibe ein Programm, das den
Benutzer zuerst fragt, wie es ihm geht. Wenn der Benutzer "gut" eingibt, antwortet das Programm mit "Das freut mich". Wenn der Benutzer "schlecht" eingibt, dann antwortet das Programm
mit "Das tut mir leid".
Aufgabe 2
Schreibe ein Programm, das den
Benutzer nach der Temperatur in Grad Celsius fragt. Liegt die
Temperatur über 30 Grad, soll das Programm "Es
ist heiß" ausgegeben.
Achtung: Verwende int() oder float(), um
die Benutzereingabe in eine Zahl umzuwandeln.
Aufgabe 3
Schreibe ein Programm, das den
Benutzer nach einem Passwort fragt und überprüft, ob das eingegebene
Passwort "python123" ist. Wenn das
Passwort korrekt ist, soll "Zugang
erlaubt" ausgegeben werden.
Aufgabe 4
Schreibe ein Programm, das eine
Variable note definiert und ihr einen Wert
zwischen 1 und 6
zuweist. Überprüfe den Wert der Variablen und gib "Sehr gut" aus, wenn note den Wert 1
hat.
Aufgabe 5
Erkläre, warum der folgende Code
nicht richtig funktioniert:
= 5
preis if preis > "20":
print("Zu teuer.")
Die if-Anweisung führt Befehle nur aus, wenn die Bedingung erfüllt ist. Mit else legst du fest, welche Anweisungen der Computer ausführen soll, wenn die Bedingung nicht erfüllt ist. So kannst du zwei unterschiedliche Abläufe im Programm festlegen – je nachdem, ob die Bedingung wahr oder falsch ist.
Beispiel
Der folgende Code ähnelt dem vorgezeigten
Beispiel im Abschnitt if-Anweisung.
Anstatt mit if name != "Lisa": zu prüfen,
ob der Name nicht Lisa ist, sagen wir dem Computer mit else direkt, was er tun soll, wenn die Bedingung
name == "Lisa" nicht erfüllt ist.
= input("Wie ist dein Name? ")
name if name == "Lisa":
print("Hallo Lisa!")
print("Schön, dass du da bist.")
else:
print("Dich kenne ich nicht.")
Bei einer if-else-Anweisung wählt der Computer zwischen zwei Alternativen. Wenn die Bedingung hinter if erfüllt ist, führt er die Befehle der if-Anweisung aus. Andernfalls die der else-Anweisung.
Noch ein Beispiel:
= float(input("Gib eine Zahl ein: "))
x
if x > 0:
print(x, "ist positiv")
else:
print(x, "ist nicht positiv")
Erklärung: In diesem Programm wird der Benutzer
aufgefordert, eine Zahl einzugeben, die in der Variable x mithilfe der float()-Funktion als Dezimalzahl gespeichert
wird. Das Programm prüft mit der if-Anweisung, ob die Zahl größer als 0 ist. Wenn das der Fall ist, wird im Terminal
ausgegeben, dass die Zahl positiv ist. Wenn die Bedingung nicht
erfüllt wird (also die Zahl kleiner oder gleich 0 ist), greift die else-Anweisung, und das Programm gibt aus, dass
die Zahl nicht positiv ist.
Aufgabe 6
Schreibe ein Programm, das den
Benutzer nach seinem Alter fragt. Wenn das eingegebene Alter 18
Jahre oder älter ist, soll "Du bist
volljährig" ausgegeben werden. Andernfalls soll "Du bist noch nicht volljährig" ausgegeben
werden.
Aufgabe 7
Schreibe ein Programm, das den
Benutzer nach der Hauptstadt von Deutschland fragt. Wenn der
Benutzer die richtige Antwort gibt, soll das Programm "Gut gemacht" ausgeben. Andernfalls soll "Das ist nicht korrekt" ausgegeben werden.
Aufgabe 8
Der folgende Code funktioniert
nicht wie erwartet, wenn das Budget kleiner als der Preis ist.
Erkläre das Problem:
= 10000
budget = 15000
preis if preis >= budget:
print("Du kannst dir das Auto leisten.")
else:
print("Das Auto ist zu teuer.")
In vielen Situationen reicht es nicht aus, nur zwischen zwei Möglichkeiten zu entscheiden. Oft gibt es mehrere Bedingungen, die ein Programm berücksichtigen muss. Hier kommt die if-elif-else-Struktur ins Spiel. Sie ermöglicht es dem Computer, verschiedene Bedingungen der Reihe nach zu prüfen. Sobald eine Bedingung erfüllt ist, wird der zugehörige Code ausgeführt, und alle weiteren Bedingungen werden ignoriert.
Der folgende Code prüft, welche Altersgruppe zutrifft, und gibt den entsprechenden Eintrittspreis aus:
= 12
alter
if alter < 4:
print("Der Eintritt ist kostenlos.")
elif alter < 18:
print("Der Eintritt kostet 25€.")
else:
print("Der Eintritt kostet 40€.")
Erklärung: Python prüft zuerst, ob die Person jünger als 4 Jahre ist. Falls nicht, wird die nächste Bedingung (unter 18 Jahren) geprüft. Wenn auch diese Bedingung nicht zutrifft, wird der Code im else-Block ausgeführt.
Aufgabe 9
Schreibe ein Programm, das eine
Variable temperatur definiert und ihr
einen beliebigen Wert zuweist. Überprüfe den Wert der Variable: Wenn
die temperatur über 30 Grad liegt, soll
"Es ist sehr heiß" ausgegeben werden, bei
einer Temperatur unter 10 Grad soll "Es ist sehr
kalt" erscheinen, und in allen anderen Fällen soll "Es ist angenehm" ausgegeben werden.
Aufgabe 10
Schreibe ein Programm, das den
Benutzer nach der Ampelfarbe fragt. Wenn die eingegebene Farbe "rot" ist, soll "Stop"
ausgegeben werden, bei "gelb" soll "Achtung" erscheinen und bei "grün" soll "Los"
ausgegeben werden.
Teste dein Programm, indem du verschiedene Werte für die Variable age festlegst, und überprüfe, ob die richtige Meldung ausgegeben wird.
Zusatzaufgabe 2
Ein Onlineshop verkauft
T-Shirts, Pullover und Jacken.
Ein T-Shirt kostet 15.99 €, ein
Pullover 24.99 € und eine Jacke 39.99 €.
Du schreibst ein
Programm, das die Kosten einer Bestellung berechnet.
Beispielablauf:
Wie viele T-Shirts möchtest du bestellen? 3
Wie viele Pullover möchtest du bestellen? 2
Wie viele Jacken möchtest du bestellen? 1
Kaufpreis ohne Versand: 137.94 EUR
Versandkosten: 0 EUR
Gesamtpreis: 137.94 EUR
Du musst dabei if-elif-else-Anweisungen
verwenden, um die Versandkosten korrekt zu berechnen.
Gehe die Aufgabe Schritt für Schritt an und schreibe deinen Code Zeile für Zeile. Nach jeder Teilaufgabe solltest du den Code ausführen, um sicherzustellen, dass alles funktioniert. So erkennst du frühzeitig Fehler und kannst sie leichter beheben. Bleib geduldig und überprüfe genau, welche Variablen und Bedingungen du verwenden musst.
Artikel und Anzahl erfassen
a) Definiere
folgende Variablen für die Preise:
preis_tshirt = 15.99
preis_pullover = 24.99
preis_jacke = 39.99
b) Frage den Benutzer, wie viele T-Shirts, Pullover und
Jacken er bestellen möchte. Verwende die input()-Funktion und speichere die Anzahl in
Variablen:
anzahl_tshirts = int(input("Wie
viele T-Shirts möchtest du bestellen? "))
anzahl_pullover = int(input("Wie viele Pullover
möchtest du bestellen? "))
anzahl_jacken = int(input("Wie viele Jacken möchtest du
bestellen? "))
c) Berechne den Gesamtpreis der bestellten Artikel.
Definiere eine neue Variable für den Kaufpreis:
kaufpreis = (anzahl_tshirts * preis_tshirt) +
(anzahl_pullover * preis_pullover) + (anzahl_jacken *
preis_jacke)
d) Gib den Kaufpreis ohne Versandkosten aus:
print("Kaufpreis ohne Versand:", kaufpreis,
"EUR")
f) Gib die Versandkosten aus:
print("Versandkosten:", versandkosten, "EUR")
Gesamtkosten berechnen und ausgeben
g)
Berechne den Gesamtpreis (Kaufpreis + Versandkosten) und speichere
ihn in einer neuen Variable gesamtpreis:
gesamtpreis = kaufpreis +
versandkosten
h) Gib den Gesamtpreis aus:
print("Gesamtpreis:", gesamtpreis, "EUR")
Zusatzaufgabe 3
Schau dir das folgende
Beispiel eines Text Adventure Spiels an. Kopiere den Code in die
Datei script.py, führe den Code aus, und sieh dir an, wie das Spiel
funktioniert. Probiere verschiedene Entscheidungen aus, um zu sehen,
wie sich die Geschichte verändert.
print("Willkommen zu deinem Text Adventure!")
print("Du wachst in einem dunklen Raum auf. Was willst du tun?")
print("1: Nach links gehen und die Tür öffnen.")
print("2: Nach rechts gehen und die Treppe runtergehen.")
= input("Wähle 1 oder 2: ")
wahl1
if wahl1 == "1":
print("Du öffnest die Tür und siehst ein Monster!")
print("1: Kämpfen.")
print("2: Weglaufen.")
= input("Wähle 1 oder 2: ")
wahl2
if wahl2 == "1":
print("Du kämpfst und besiegst das Monster. Du hast gewonnen!")
else:
print("Du läufst weg und überlebst, aber findest keinen Schatz.")
elif wahl1 == "2":
print("Du gehst die Treppe hinunter und findest eine Schatztruhe.")
print("1: Die Truhe öffnen.")
print("2: Die Truhe nicht öffnen.")
= input("Wähle 1 oder 2: ")
wahl3
if wahl3 == "1":
print("Du öffnest die Truhe und findest Schätze. Du hast gewonnen!")
else:
print("Du öffnest die Truhe nicht. Du wirst nie wissen, was drin war.")
Nachdem du das Beispielspiel ausprobiert hast, erstelle nun dein eigenes Text Adventure. Nutze if, elif, und else, um dem Spieler verschiedene Optionen zu geben und die Geschichte weiterzuentwickeln.
Eine bedingte Anweisung ist ein Teil des Programms, der nur ausgeführt wird, wenn eine bestimmte Bedingung erfüllt ist. Sie hat folgende Form:
wenn Bedingung dann
Anweisung(en)
ende
wenn es regnet dann
nehme einen Regenschirm
ende
Eine Verzweigung entscheidet, welcher von zwei oder mehr Programmteilen abhängig von der Bedingung ausgeführt wird. Sie hat folgende Form:
wenn Bedingung dann
Anweisung(en)
ansonsten
Anweisung(en)
ende
wenn es regnet dann
nehme einen Regenschirm
ansonsten
geh ohne Regenschirm
ende
In Python ist es möglich, bedingte Anweisungen und Verzweigungen mit if, elif und else zu erstellen