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, sodass die Funktion kalkuliere_kaffee den Gesamtpreis berechnet und zurückgibt.
Anschließend soll der Rückgabewert im Hauptprogramm gespeichert und ausgegeben werden.
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 gibt das Ergebnis nicht an das Hauptprogramm zurück.
2. Das Hauptprogramm versucht auf die lokale Variable rabatt_betrag zuzugreifen, was zu einem NameError führt.
Korrigiere den Code, sodass die Funktion den rabattierten Betrag mit return zurückliefert und das Hauptprogramm diesen in preis_nach_rabatt speichert.
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
preis_nach_rabatt = berechne_rabatt(10, 20)
print("Endpreis:", preis_nach_rabatt, "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 4 als Einzelpreis und 2 als Anzahl auf.
3. Speichere das Ergebnis in der globalen Variablen gesamtbetrag.
4. Gib auf der Konsole genau folgende Zeilen aus:
Kunde: Alex
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, 4)
print("Kunde: Alex")
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.