Musterlösung: Geldwechselproblem
Diese Aufgabe zeigt, wie man mit Schleifen, ganzzahliger Division und Modulo-Operator arbeitet, um eine praktische Berechnung zu lösen: Einen Geldbetrag mit möglichst wenigen Münzen zu wechseln.
Erklärung der Lösung
Das Programm berechnet, wie viele Münzen benötigt werden, um einen bestimmten Betrag in Rappen zu wechseln.
Es verwendet dazu eine for-Schleife, die nacheinander jede Münzsorte prüft – von der grössten zur kleinsten.
Schritt-für-Schritt-Erklärung
1. Betrag einlesen
betrag = int(input("Bitte gib einen Betrag in Rappen ein: "))
Die Eingabe wird als ganze Zahl gespeichert. Damit kann Python den Betrag korrekt berechnen und ganzzahlige Division anwenden.
2. Verfügbare Münzen definieren
muenzen = [200, 100, 50, 20, 10, 5, 2, 1]
Diese Liste enthält die Werte aller Schweizer Münzen in Rappen, sortiert von der grössten zur kleinsten. Das Programm durchläuft diese Liste Schritt für Schritt.
3. Berechnung der Münzen
rest = betrag
anzahl_muenzen = 0
Die Variable rest speichert den noch zu wechselnden Betrag.
Die Variable anzahl_muenzen zählt alle verwendeten Münzen.
for m in muenzen:
if rest >= m:
anzahl = rest // m
rest = rest % m
anzahl_muenzen += anzahl
print(f"{anzahl} Münze(n) à {m} Rappen")
- Mit // wird die Anzahl der Münzen berechnet, die in den Restbetrag passen.
- Mit % wird der Restbetrag nach Abzug dieser Münzen bestimmt.
- Die Anzahl wird ausgegeben und zum Gesamttotal addiert.
4. Total ausgeben
print(f"Total: {anzahl_muenzen} Münze(n)")
Am Ende zeigt das Programm die gesamte Anzahl benötigter Münzen an.
Was du aus dieser Aufgabe lernst
- Wie man Schleifen verwendet, um wiederholte Berechnungen durchzuführen.
- Wie ganzzahlige Division (
//) und Modulo (%) zusammenarbeiten. - Wie man Werte aus Listen systematisch verarbeitet.
- Wie man mit klarer Logik schrittweise zu einem optimalen Ergebnis gelangt.