Du liest:
Python Modulo: So rechnest du mit Rest in Python

Python Modulo: So rechnest du mit Rest in Python

von Patrick
10.04.2020
Python Modulo: Mit Rest rechnen!

Der Python Modulo Operator gibt den Rest einer Division zur√ľck.
In Python wird dies mit dem % dargestellt, syntaktisch sieht das in etwa so aus:

# Dividend % Divisor = Rest
7 % 4 = 3

1. Mit dem Python Modulo Operator Zahlen filtern

Wenn du beispielsweise aus einer Reihe von Zahlen nur gerade Zahlen herausfiltern möchtest, dann ginge das so:

for i in range(0, 12):
    # √úberpr√ľft, ob beim Teilen durch 2 kein Rest zur√ľck bleibt, was bedeutet, dass i eine gerade Zahl ist
    if i % 2 == 0:
        print(i)

Der Output dieser For-Schleife wäre dann folgender:

0
2
4
6
8

2. Mit dem Python Modulo Operator Listen filtern

Wenn du aus einer Liste von Wörtern, sagen wir, nur jedes Dritte anzeigen wolltest, wäre dieser Code eine angemessene Strategie um das zu erreichen.
Nehmen wir an wir haben folgenden Python Enum:

lorem_ipsum = ['Lorem', 'ipsum', 'dolor', 'sit', 'amet,', 'consectetur', 'adipiscing', 'elit.', 'Nam', 'feugiat', 'tellus', 'et', 'leo', 'hendrerit', 'aliquet.', 'Duis', 'augue', 'nisl,', 'volutpat', 'volutpat', 'vehicula', 'eu,', 'suscipit', 'sit', 'amet', 'ex.', 'In', 'hac', 'habitasse', 'platea.']

Dann k√∂nnen wir mit dieser For-Schleife das gew√ľnschte Ergebnis erreichen:

for i, wort in enumerate(lorem_ipsum):
    if i % 3 == 0:
        print(i, wort)

Hier der Output zu dem Code:

0 Lorem
3 sit
6 adipiscing
9 feugiat
12 leo
15 Duis
18 volutpat
21 eu,
24 amet
27 hac

3. Modulo mit Gleitkommazahlen

Der Modulo Operator % kann genauso auf Gleitkommazahlen angewendet werden wie auf ganzzahlige Werte.
In dem folgenden Beispiel erhalten wir 0.20000000000000018 als Rest.

4.2 % 1
# Output => 0.20000000000000018

Anhand dieses Beispiels kannst du erkennen, dass nach dem erwarteten Ergebnis 0.2 noch einige Stellen kommen. Das ist bedingt durch die Implementierung von sogenannten Floats in Computersystemen.

Wenn dich das genauer interessiert, kannst du gerne hier nachlesen (Quellen in Englisch):
What Every Computer Scientist Should Know About Floating-Point Arithmetic
Oder hier f√ľr eine kurze Zusammenfassung:
Floating-point Accuracy problems

4. Fazit

Modulo ist vielleicht keiner der h√§ufigsten Anwendungsf√§lle f√ľr die meisten Programmierer, jedoch recht einfach zu handhaben, wenn du es mal ben√∂tigst. 
Wenn du weitere praxisnahe Beispiele oder Verbesserungsvorschl√§ge hast, w√ľrde ich mich freuen, in den Kommentaren davon zu lesen.
Auch einfach ein paar nette Worte sind gerne gesehen!



2 Kommentare
  1. andreas
    09.05.2022

    Danke gute, gute Erklärung!

    Antworten Reply
    • Pero
      09.05.2022

      Hey Andreas,

      vielen Dank f√ľr das liebe Feedback!

      Beste Gr√ľ√üe
      Pero

      Antworten Reply

Schreibe einen Kommentar

Das könnte dich auch interessieren

Arrow-up