Discovery & Checkpoint
Gegeben ist folgender Code:
def zubereiten(portionen):
preis_pro_tasse = 2
gesamtpreis = portionen * preis_pro_tasse
return gesamtpreis
rechnung = zubereiten(3)Welche Aussage über die Variablen und Werte nach Ablauf des Programms ist korrekt?
Parsons Puzzle
Bringe die Code-Blöcke in die richtige Reihenfolge:
1. Definiere die Funktion kalkuliere_kaffee(grundpreis, sirup), die die Summe berechnet und mit return zurückgibt.
2. Rufe die Funktion im Hauptprogramm mit den Werten 3 und 2 auf.
3. Speichere den Rückgabewert in endpreis und gib das Ergebnis auf der Konsole aus.
Tipp: Benutze die Anfasser zum Verschieben und ⇥- / ⇥+ zum Einrücken.
Scaffolding & Bugfix
Im folgenden Skript für eine Rabatt-Berechnung gibt es zwei Probleme:
1. Die Funktion berechne_rabatt berechnet zwar die Variable rabatt_betrag, gibt das Ergebnis aber nicht mit return zurück.
2. Das Hauptprogramm speichert den Rückgabewert noch nicht und versucht auf die lokale Variable endpreis zuzugreifen, was zu einem NameError führt.
Korrigiere den Code, sodass die Funktion rabatt_betrag mit return zurückliefert, der Aufruf im Hauptprogramm der Variablen endpreis zugewiesen wird und der Endpreis ausgegeben wird.
Tipp: Passe den Code im Editor an und klicke auf „Ausführen & Prüfen“.
def berechne_rabatt(basispreis, rabatt_prozent):
ersparnis = basispreis * (rabatt_prozent / 100)
rabatt_betrag = basispreis - ersparnis
return rabatt_betrag
endpreis = berechne_rabatt(10, 20)
print("Endpreis:", endpreis, "Euro")
Coding Challenge
Programmiere das Abrechnungsmodul für den Automaten:
1. Schreibe eine Funktion kassieren(anzahl, einzelpreis):
- Berechne darin den Gesamtbetrag (anzahl * einzelpreis).
- Gib diesen Betrag mit return zurück.
2. Rufe die Funktion mit 2 als Anzahl und 3 als Einzelpreis auf.
3. Speichere das Ergebnis in der globalen Variablen gesamtbetrag.
4. Gib auf der Konsole genau folgende Zeilen aus:
Kunde: Sam
Summe: <gesamtbetrag> Euro
Tipp: Schreibe deinen Code in den Editor und klicke auf „Code testen“.
Test-Suite
def kassieren(anzahl, einzelpreis):
gesamt = anzahl * einzelpreis
return gesamt
gesamtbetrag = kassieren(2, 3)
print("Kunde: Sam")
print("Summe:", gesamtbetrag, "Euro")
Der modulare Barista-Automat
Erweitere den Kaffeeautomaten zu einem vollständigen Menüsystem!
- Schreibe Funktionen wie berechne_zutaten(kaffeetyp), die eine Liste der benötigten Zutaten (z. B. ["Espresso", "Milchschaum"]) zurückgibt.
- Baue eine Funktion pruefe_guthaben(preis, guthaben), die True oder False zurückliefert.
- Kombiniere mehrere Funktionsaufrufe, um eine formatierte Quittung mit Wechselgeld-Berechnung zu erstellen.
Tipp: Passe den Code an, führe ihn aus oder lade dein fertiges Programm als Python-Datei herunter.
Lektion vollständig abgeschlossen!
Du hast alle Phasen gemeistert und kannst hier im Sandbox-Labor frei weiterprogrammieren.