Division und Rest
Du weißt schon, dass die Division mit / immer eine Dezimalzahl ergibt, auch wenn das Ergebnis ganzzahlig ist:
print(7 / 2)
print(6 / 2)Das gibt Folgendes aus:
3.5
3.0Dezimalzahlen schreibt man in Python mit einem Punkt: 1.5, nie mit einem Dezimalkomma (1,5), wie wir es im Deutschen gewohnt sind. In Python trennt ein Komma Werte voneinander, deshalb gibt print(1,5) nicht eineinhalb aus, sondern zwei Zahlen: 1 5.
Manchmal ist die letzte Stelle eines Dezimalergebnisses ein bisschen daneben: print(0.1 + 0.2) gibt 0.30000000000000004 aus. Computer speichern Dezimalzahlen mit einer winzigen Ungenauigkeit. Das ist kein Fehler in deinem Programm, lass dich davon also nicht überraschen.
Oft musst du ganze Zahlen so teilen, wie du es in der Grundschule gelernt hast: Wie oft passt die eine Zahl in die andere, und was bleibt übrig? Dafür hat Python zwei Operatoren:
//(zwei Schrägstriche) ist die ganzzahlige Division: Sie sagt, wie oft die eine Zahl in die andere passt, und lässt den Rest weg.%(das Prozentzeichen) ergibt den Rest: das, was übrig bleibt. Programmierer nennen diese Operation Modulo.
print(7 // 3)
print(7 % 3)Das gibt Folgendes aus:
2
1Die 3 passt zweimal in die 7 (2 × 3 = 6), und 1 bleibt übrig: 7 = 2 × 3 + 1. Also ist 7 // 3 gleich 2 und 7 % 3 gleich 1. Wenn eine Zahl restlos teilbar ist, bleibt nichts übrig: 10 % 5 ist 0.
% benutzt man oft, um gerade und ungerade Zahlen zu unterscheiden. Eine gerade Zahl lässt bei der Division durch 2 keinen Rest, eine ungerade lässt 1:
print(8 % 2)
print(9 % 2)Das gibt Folgendes aus:
0
1Eine Zahl ist also gerade, wenn ihr Rest bei der Division durch 2 gleich 0 ist. Das brauchst du bald in den nächsten Lektionen, wenn deine Programme anfangen, Entscheidungen zu treffen.
So schreibst du es:
Anweisungen
- 1
Gib den Preis einer halben Tafel Schokolade aus:
preis_schokoladegeteilt durch2. - 2
Wie viele Tafeln Schokolade kannst du mit dem Geld in
geldbeutelkaufen? Erstelle eine Variabletafelnmit dem Ergebnis der Division vongeldbeuteldurchpreis_schokolademit//. - 3
Wie viel Geld bleibt dir übrig? Erstelle eine Variable
restgeldmit dem Rest der Division vongeldbeuteldurchpreis_schokolade. Verwende%. - 4
Gib beide Werte so aus:
Tafeln: 2 Restgeld: 10 - 5
Ist der Preis einer Tafel Schokolade gerade oder ungerade? Gib den Rest der Division von
preis_schokoladedurch2aus.