Mini-Projekt: Taschengeld-Rechner
Die Mission
Luna bekommt wöchentlich Taschengeld. Vor dem nächsten Club-Einkauf will sie wissen:
- Wie viel ist das in mehreren Wochen (z. B. „ein Monat“ ≈ 4 Wochen)?
- Was bleibt nach einem geplanten Kauf?
- Wie sieht eine kleine, lesbare Übersicht aus?
Py wird zum Taschengeld-Rechner. Lily testet mit echten Zahlen.
Buggy will durch 0 teilen und Variablen x und y nennen – du machst es besser.
Warum dieses Projekt?
Hier steckt alles aus Kapitel 6 (und Band 1) zusammen:
| Baustein | Wo im Projekt |
|---|---|
input + int | Beträge einlesen |
* | Wochen × Betrag |
- | Rest nach Ausgabe |
// und % (Level-up) | Rest auf Wochen verteilen |
klare print-Ausgaben | Übersicht wie ein Kassenbon |
| gute Namen | pro_woche, monat, rest |
Zielbild
=== Taschengeld-Rechner ===
Wochen-Taschengeld: 5
Wochen: 4
Monatsbetrag: 20
Ausgabe: 7
Rest: 13
Optional (Profi):
Ganze Euros pro Woche vom Rest: 3
Uebrig: 1
Anforderungen (Checkliste)
- Titelzeile mit
print - Eingaben mit
inputund Umwandlung (intoderfloat) - Multiplikation für den Zeitraum-Betrag
- Subtraktion für Rest nach Ausgabe
- mindestens 5 sinnvolle Ausgabezeilen
- mindestens ein Kommentar im Code
- sinnvolle Variablennamen (kein
x,y,a1) - Programm läuft ohne Fehler mit Testdaten
Beispielstart
# Taschengeld-Rechner
print("=== Taschengeld-Rechner ===")
pro_woche = int(input("Taschengeld pro Woche: "))
wochen = int(input("Anzahl Wochen: "))
Ergänze selbst Ausgabe und Rechnungen.
Bau-Plan (EVA)
- Eingabe: Taschengeld pro Woche, Anzahl Wochen, geplante Ausgabe
- Verarbeitung:
monat = pro_woche * wochenrest = monat - ausgabe
- Ausgabe: übersichtliche Liste mit Beschriftungen
Denke in Schritten, nicht in einer riesigen Zeile.
Level-Ups
Basis
- fester Zeitraum 4 Wochen oder Wochen als Eingabe
- eine Ausgabe abziehen
- Rest anzeigen
Besser
- Wochenanzahl variabel
- mehrere Ausgaben addieren (
ausgabe1 + ausgabe2) - Zwischensummen beschriften
Profi
- Rest pro Woche schätzen:
rest // wochenundrest % wochen - float-Preise mit
float(input(...)) - Warn-Text als fester String, wenn Rest negativ wirken würde
(echteif-Warnung kommt in Band 2 – hier nur vorbereiten oder manuell testen)
Beispiellösung
Eine moegliche Loesung anzeigen
# Taschengeld-Rechner fuer den Code-Club
print("=== Taschengeld-Rechner ===")
pro_woche = int(input("Taschengeld pro Woche (Euro): "))
wochen = int(input("Anzahl Wochen: "))
ausgabe = int(input("Geplante Ausgabe (Euro): "))
monat = pro_woche * wochen
rest = monat - ausgabe
print()
print("Wochen-Taschengeld:", pro_woche)
print("Wochen:", wochen)
print("Monatsbetrag:", monat)
print("Ausgabe:", ausgabe)
print("Rest:", rest)
print()
print("Ganze Euros pro Woche vom Rest:", rest // wochen)
print("Uebrig in der letzten Betrachtung:", rest % wochen)
print("Fertig – gut geplant!")
Testideen
| pro Woche | Wochen | Ausgabe | Monatsbetrag | Rest |
|---|---|---|---|---|
| 5 | 4 | 7 | 20 | 13 |
| 10 | 2 | 5 | 20 | 15 |
| 3 | 4 | 12 | 12 | 0 |
| 8 | 3 | 30 | 24 | -6 |
Beim letzten Fall: Negativer Rest bedeutet „nicht genug Geld“ – auch das ist ein
gültiges Rechenergebnis. Später kannst du mit if eine Warnung bauen.
Häufige Stolpersteine
| Problem | Lösung |
|---|---|
"5" * 4 ergibt seltsamen Text | erst int(...) |
| Vergessene Umwandlung | int(input(...)) |
Division durch 0 bei // wochen | Wochen mindestens 1 |
| Unklare Ausgaben | Beschriftung vor jede Zahl |
| Alles in einer Variable | Zwischenschritte speichern |
Reflexion
- Welche Operatoren hast du benutzt – und wofür?
- Wo hätten Klammern geholfen – oder waren unnötig?
- Was würdest du als Nächstes berechnen (Sparziel, Tage bis Kauf, …)?
- Welche Variable hieß am klarsten? Welche würdest du umbenennen?
Kapitel 6 und Band-1-Kern
Mit diesem Projekt kannst du:
- Variablen und Datentypen nutzen
- Eingaben lesen und in Zahlen umwandeln
- mit
+ - * / // %sinnvoll rechnen - kleine interaktive Alltagsprogramme bauen
In Band 2 werden Texte mächtiger, dann kommen Entscheidungen (if) und
Schleifen – dein Rechner wird dann noch schlauer.
Geschafft! Feiere kurz – dann weiter zu Band 2 oder den Meilensteinen.