Zum Hauptinhalt springen

Ganzzahlig teilen und Rest berechnen

Warum brauchen wir das?

Manchmal willst du keine Kommazahl – sondern eine klare Antwort in ganzen Stücken:

  • 20 Sticker auf 6 Kinder: Wie viele ganze Sticker pro Kind? Was bleibt übrig?
  • 130 Minuten: Wie viele volle Stunden und wie viele Restminuten?
  • Ist eine Zahl gerade oder ungerade? (% 2)
  • Eier in 6er-Packungen: volle Packungen + einzelne Eier

/ liefert oft 3.333... – nützlich für Durchschnitte, unpraktisch für „ganze Packungen“. Dafür gibt es zwei Spezial-Operatoren: // und %.

Definition: // und %

Definition – ganzzahlige Division (//):
a // b fragt: Wie oft passt b ganz in a?
Bei positiven Zahlen entspricht das dem Abrunden nach unten (floor).

Definition – Modulo / Rest (%):
a % b fragt: Was bleibt übrig, wenn man b so oft wie möglich ganz von a abzieht?

print(17 // 5) # 3
print(17 % 5) # 2

Denn: 5 × 3 = 15, und 17 − 15 = 2.
Probe: 15 + 2 = 17. Passt.

Merksatz und Probe

Dividend = Divisor × (Ergebnis von //) + (Ergebnis von %)

print(5 * (17 // 5) + (17 % 5)) # 17

Wenn diese Probe nicht den Ausgangswert ergibt, hast du Operanden oder Operatoren vertauscht – Buggys Lieblingssport.

WortBedeutungBeispiel bei 17 // 5
DividendZahl, die geteilt wird17
DivisorTeiler5
Quotient (ganz)//-Ergebnis3
Rest%-Ergebnis2

Luna verteilt Club-Sticker

Luna hat 23 Sticker, 4 Kinder im Team.

sticker = 23
kinder = 4
pro_kind = sticker // kinder
rest = sticker % kinder
print("Pro Kind:", pro_kind)
print("Uebrig:", rest)

Ausgabe:

Pro Kind: 5
Uebrig: 3

Py: „Jeder bekommt 5, drei bleiben in der Box – fair und ehrlich.“
Buggy schlägt vor: „Nimm einfach /, dann bekommt jeder 5.75 Sticker!“
Lily: „Sticker zerschneiden wir nicht. Deshalb // und %.“

Neue Wörter

ganzzahlige Divisionfloor division

Teilen ohne Nachkommastellen: Operator //.

Modulo / Restmodulo

Der Rest bei der Division: Operator %.

Dividenddividend

Die Zahl, die geteilt wird (links vom Operator).

Divisordivisor

Der Teiler (rechts vom Operator).

Vergleich der drei Divisions-Operatoren

print(10 // 3) # 3
print(10 % 3) # 1
print(10 / 3) # 3.333...
OperatorFrage an PythonBeispiel 10 ? 3
/genaue Division3.333...
//ganze Anteile3
%was bleibt übrig?1

Alltagsbeispiel: Minuten in Stunden

minuten = 130
stunden = minuten // 60
rest = minuten % 60
print(stunden, "h", rest, "min")

Ausgabe:

2 h 10 min

Denn 2 × 60 = 120, Rest 10. Perfekt für Timer, Spieldauer oder Hausaufgabenzeit.

Gerade oder ungerade? (Vorgeschmack)

print(8 % 2) # 0 → gerade
print(9 % 2) # 1 → ungerade

Wenn der Rest bei Teilung durch 2 0 ist, ist die Zahl gerade.
Sonst ungerade. Später baust du daraus echte if-Entscheidungen.

Was passiert im Computer?

Stell dir vor, Python legt den Divisor so oft wie möglich in den Dividend:

  1. // zählt die vollen Passungen.
  2. % misst, was nicht mehr eine volle Passung ergibt.
  3. / rechnet mit Bruchteil weiter – kein Abschneiden.

Bei positiven Zahlen ist das intuitiv. (Bei negativen Zahlen wird // etwas kniffliger – das brauchst du jetzt noch nicht.)

Auch hier gilt: Teiler 0 ist verboten – für /, // und %.

Häufige Irrtümer

IrrtumRichtig
% bedeutet „Prozent“In Python: Rest der Division
// ist dasselbe wie /Nein – // ganzzahlig, / float
17 // 5 ergibt 3.4Ergibt 3
Rest kann größer als Divisor seinNein – Rest ist immer kleiner als Divisor (bei positiven Zahlen)
print(14 / 5) zeigt den RestNein – Rest ist 14 % 54

Probiere es selbst

Experiment 1 – Grundrechnung

print(23 // 4)
print(23 % 4)
print(4 * (23 // 4) + (23 % 4)) # muss 23 sein

Experiment 2 – Stifte verteilen

stifte = 30
personen = 7
print("Pro Person:", stifte // personen)
print("Rest:", stifte % personen)

Experiment 3 – Minuten

minuten = 95
print(minuten // 60, "Stunden")
print(minuten % 60, "Minuten")

Experiment 4 – Gerade?

zahl = int(input("Zahl: "))
print("Rest bei Teilung durch 2:", zahl % 2)

Ist der Rest 0, ist die Zahl gerade.

Fehlerdetektiv

print(14 / 5)
Lösung anzeigen

/ liefert die genaue Division (2.8), nicht den Rest.
Rest:

print(14 % 5) # 4

Ganze Anteile:

print(14 // 5) # 2

Übungen

Level 1 – Entdecken

Berechne 19 // 6 und 19 % 6. Schreibe die Probe auf Papier:
6 × ? + ? = 19.

Lösung
print(19 // 6) # 3
print(19 % 6) # 1
# Probe: 6 * 3 + 1 = 19

Level 2 – Anwenden

Lies Anzahl Süßigkeiten und Kinder ein. Gib aus: pro Kind und Rest.

Lösung
suess = int(input("Suessigkeiten: "))
kinder = int(input("Kinder: "))
print("Pro Kind:", suess // kinder)
print("Rest:", suess % kinder)

Level 3 – Erweitern

Lies Sekunden ein. Rechne in Minuten und Restsekunden um.

Lösung
sekunden = int(input("Sekunden: "))
minuten = sekunden // 60
rest = sekunden % 60
print(minuten, "min", rest, "s")

Mini-Challenge

50 Eier, Packung zu 6: Wie viele volle Packungen? Wie viele einzelne Eier? Erkläre in einem Satz: Was ist der Rest?

Lösungsidee
eier = 50
packung = 6
print("Volle Packungen:", eier // packung) # 8
print("Einzelne:", eier % packung) # 2

Zusammenfassung

  • // liefert ganze Anteile, % den Rest.
  • / liefert die genaue Division (float).
  • Probe: divisor * (a // b) + (a % b) ergibt wieder a.
  • Nützlich für Verteilen, Zeitumrechnung, Packungen.
  • % 2 bereitet gerade/ungerade vor.
  • % heißt nicht Prozent.

Mini-Quiz

Mini-QuizWas liefert 10 % 4?
  1. Was macht //?
  2. Was bleibt bei 20 % 6?
  3. Wann ist % im Alltag nützlich?
Lösungen
  1. Ganzzahlige Division (volle Anteile).
  2. 2.
  3. Verteilen, Zeit umrechnen, Reste, gerade/ungerade.

Rest verstanden! Als Nächstes: Reihenfolge der Operationen – Punkt vor Strich.