Multiplizieren und dividieren
Warum brauchen wir das?
Viele Alltagsrechnungen sind mal oder geteilt:
- 4 Tickets à 3 Euro → Gesamtpreis
- 24 Stifte fair auf 6 Personen → pro Person
- Punkte verdoppeln oder verdreifachen
- Durchschnitt grob schätzen (Summe geteilt durch Anzahl)
Mit nur + und - müsstest du 3 + 3 + 3 + 3 schreiben. Mit * wird daraus
4 * 3 – kürzer, klarer, weniger Tippfehler.
Definition: Multiplikation und Division
Definition – Multiplikation:
Der Operator*multipliziert zwei Zahlen.
a * bbedeutet: „nimma, so oft wiebangibt“ (bei positiven ganzen Zahlen).
Definition – Division:
Der Operator/teilt die linke Zahl durch die rechte.
In Python 3 liefert/typischerweise ein float-Ergebnis – auch wenn die Division „glatt“ aufgeht.
print(10 / 2) # 5.0 – nicht 5!
print(7 / 2) # 3.5
Das ist absichtlich so gebaut: / soll die mathematisch genaue Division
liefern. Für „nur ganze Anteile“ gibt es später //.
Luna und die Ticketkasse
Der Code-Club plant einen Kinobesuch. Ein Ticket kostet 3 Euro, es kommen 4 Kinder.
ticket = 3
anzahl = 4
gesamt = ticket * anzahl
print(gesamt)
Ausgabe:
12
Py: „* ist mal. Nicht der Buchstabe x.“
Buggy tippt stolz:
# print(5 x 3) # SyntaxError!
Lily rettet ihn: „In Python heißt mal Sternchen *. Das x aus dem Heft
funktioniert hier nicht.“
Später teilen sie 12 Euro auf 4 Personen:
print(12 / 4) # 4.0
„Warum .0?“, fragt Luna.
„Weil / ein float baut“, sagt Py. „Genauigkeit vor Bequemlichkeit.“
Neue Wörter
Malnehmen mit dem Operator *.
Teilen mit dem Operator / . Liefert in Python 3 oft float.
Ein Ergebnis mit Nachkommastelle, z. B. 5.0 oder 3.5.
Direkte Rechnung und mit Variablen
print(3 * 4) # 12
print(10 / 2) # 5.0
print(7 / 2) # 3.5
Mit Variablen – praxisnah:
preis = 2
anzahl = 5
gesamt = preis * anzahl
print(gesamt) # 10
Verdoppeln und verdreifachen:
punkte = 15
print(punkte * 2) # 30
print(punkte * 3) # 45
Division und Datentyp
Prüfe den Typ des Ergebnisses:
print(9 / 3)
print(type(9 / 3))
Typische Ausgabe:
3.0
<class 'float'>
Auch wenn der Wert „ganzzahlig aussieht“, bleibt der Typ oft float. Das ist
wichtig, wenn du später streng mit int und float umgehst oder Werte
vergleichst.
| Ausdruck | Ungefähres Ergebnis | Typ (typisch) |
|---|---|---|
6 * 7 | 42 | int |
100 / 4 | 25.0 | float |
7 / 2 | 3.5 | float |
Division durch null – verboten
# print(5 / 0) # ZeroDivisionError
Mathematisch ist Teilen durch null nicht definiert. Python bricht mit einem
ZeroDivisionError ab. In echten Programmen prüfst du vorher, ob der Teiler
ungleich null ist (später mit if).
Buggy-Kommentar: „Ich teile gern durch null – dann explodiert alles so schön.“
Lily: „Genau deshalb prüfen wir den Teiler.“
Was passiert im Computer?
a = 6
b = 3
print(a * b) # 18
print(a / b) # 2.0
- Python holt die Operanden.
- Bei
*multipliziert es und behält oft den passenden Zahlentyp. - Bei
/führt es eine Division aus und liefert in Python 3 ein float. - Bei Teiler
0stoppt es mit Fehler – kein stilles „Unendlich“.
Ganzzahliges Teilen (//) und Rest (%) lernst du in der nächsten Lektion.
Heute: * und / sauber beherrschen.
Häufige Irrtümer
| Irrtum | Richtig |
|---|---|
Mal schreibt man x | In Python: * |
10 / 2 ergibt 5 (int) | Ergibt typischerweise 5.0 (float) |
| Teilen durch 0 ergibt 0 | Nein – ZeroDivisionError |
* geht nur mit int | Auch float: 2.5 * 4 |
| Text mal Zahl ist immer ok | "ha" * 3 → "hahaha", aber "ha" * "3" ist falsch |
Kurzer Ausblick: Text mal Zahl
print("ha" * 3) # hahaha
Das ist kein Rechnen im Mathe-Sinn, sondern Wiederholen von Text. Nützlich für Muster – aber verwechsle es nicht mit Zahlen-Multiplikation.
Probiere es selbst
Experiment 1 – Verdoppeln
leben = 4
print(leben * 2)
print(leben * 3)
Experiment 2 – Typ der Division
print(9 / 3)
print(type(9 / 3))
print(9 * 3)
print(type(9 * 3))
Experiment 3 – Interaktiver Preis
preis = float(input("Preis: "))
anzahl = int(input("Anzahl: "))
print("Gesamt:", preis * anzahl)
Experiment 4 – Gefährlicher Teiler (nur lesen!)
Denk nach: Was passiert, wenn jemand bei Division 0 eingibt?
(Nicht endlos ausprobieren – der Fehler ist erwartet.)
Fehlerdetektiv
print(5 x 3)
Lösung anzeigen
x ist kein Multiplikationsoperator in Python. Richtig:
print(5 * 3)
Übungen
Level 1 – Entdecken
Gib aus: 6 * 7 und 100 / 4. Notiere, ob Nachkommastellen erscheinen.
Lösung
print(6 * 7) # 42
print(100 / 4) # 25.0
Level 2 – Anwenden
Ein Ticket kostet 4 Euro, 3 Freunde gehen mit. Berechne den Gesamtpreis.
Lösung
ticket = 4
freunde = 3
print(ticket * freunde)
Level 3 – Erweitern
Lies Strecke (km) und Stunden als float ein. Berechne die Geschwindigkeit
strecke / stunden. Achte darauf, dass Stunden nicht 0 sind (selbst testen).
Lösung
strecke = float(input("Strecke in km: "))
stunden = float(input("Stunden: "))
print("km/h:", strecke / stunden)
Mini-Challenge
Doppelter Bonus: Lies Punkte als ganze Zahl ein und gib den doppelten Wert aus.
Erkläre danach in einem Satz: Warum liefert Division oft 5.0 statt 5?
Zusammenfassung
*multipliziert,/dividiert.- Schreibe nicht
xfür mal. /liefert in Python 3 typischerweise float.- Niemals durch 0 teilen.
- Ergebnisse speichern oder direkt printen.
- Super für Preise, Anteile und Verdopplungen.
Mini-Quiz
- Was liefert
8 / 2typischerweise? - Warum darf man nicht durch 0 teilen?
- Wie rechnest du „dreimal den Preis“?
Lösungen
4.0(float).- Es ist undefiniert → ZeroDivisionError.
3 * preis(oderpreis * 3).
Mal und geteilt! Als Nächstes: ganzzahlig teilen mit // und Rest mit %.