Python Modulus Operator?

2 Antworten

a % b liefert den Rest bei Division von a durch b.

Etwas genauer: Für zwei Zahlen a und b (mit b ≠ 0) gibt es immer eine ganze Zahl q und eine Zahl r mit 0 ≤ r < b, sodass a = qb + r ist. a % b ist dann gleich der Zahl r.(Zumindest für b > 0. Für b < 0 werden q und r stattdessen so gewählt, dass b < r ≤ 0 ist. Dies bewirkt auch, dass r = a % b das gleiche Vorzeichen wie b hat.)

Siehe auch: https://docs.python.org/3/reference/expressions.html#binary-arithmetic-operations

Beispielsweise gilt:

17 % 5 == 2       #denn 17 == 3 * 5 + 2 mit 0 ≤ 2 < 5
3.6 % 2 == 1.6    #denn 3.6 == 1 * 2 + 1.6 mit 0 ≤ 1.6 < 2
17 % (-5) == -3   #denn 17 == (-4) * (-5) + (-3) mit -5 < -3 ≤ 0

============

Für Strings bewirkt der %-Operator außerdem eine String-Formatierung.

Beispiel: Der Code...

print('%(language)s has %(number)03d quote types.' % {'language': "Python", "number": 2})

... liefert als Ausgabe:

Python has 002 quote types.

Siehe auch: https://docs.python.org/3/library/stdtypes.html#old-string-formatting

Der berechnet den Rest einer Division zweier Ganzzahlen.


TimeTravel3 
Beitragsersteller
 13.03.2022, 08:51

So Stelle ich mir eine Perfekte Anwort vor. Vielen dank!

0