Zum Hauptinhalt springen

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 * b bedeutet: „nimm a, so oft wie b angibt“ (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

Multiplikationmultiplication

Malnehmen mit dem Operator *.

Divisiondivision

Teilen mit dem Operator / . Liefert in Python 3 oft float.

float-Ergebnisfloating-point result

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.

AusdruckUngefähres ErgebnisTyp (typisch)
6 * 742int
100 / 425.0float
7 / 23.5float

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
  1. Python holt die Operanden.
  2. Bei * multipliziert es und behält oft den passenden Zahlentyp.
  3. Bei / führt es eine Division aus und liefert in Python 3 ein float.
  4. Bei Teiler 0 stoppt 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

IrrtumRichtig
Mal schreibt man xIn Python: *
10 / 2 ergibt 5 (int)Ergibt typischerweise 5.0 (float)
Teilen durch 0 ergibt 0Nein – ZeroDivisionError
* geht nur mit intAuch 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 x fü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

Mini-QuizWelcher Operator multipliziert in Python?
  1. Was liefert 8 / 2 typischerweise?
  2. Warum darf man nicht durch 0 teilen?
  3. Wie rechnest du „dreimal den Preis“?
Lösungen
  1. 4.0 (float).
  2. Es ist undefiniert → ZeroDivisionError.
  3. 3 * preis (oder preis * 3).

Mal und geteilt! Als Nächstes: ganzzahlig teilen mit // und Rest mit %.