Seite 1 von 1

Verständnissproblem bei `%`

Verfasst: Mittwoch 21. Oktober 2020, 09:26
von TotalerNewb
Bitte nicht verurteilen, ich weiß, dass es eher eine dumme Frage ist... Ich verstehe wie es geht, aber nicht warum das rauskommt, was rauskommt.
print (-1%24)

Warum kommt 23 dabei raus?
24 ist doch 0 Mal in - 1 enthalten, also kommt doch 24 raus?

Sorry! Hoffe trotzdem auf ne Antwort!

Liebe Grüße!

Re: Verständnissproblem bei `%`

Verfasst: Mittwoch 21. Oktober 2020, 11:00
von Sirius3
@TotalerNewb: es kommt darauf an, wie die Ganzzahldivision definiert ist. In Python hat man sich dafür entschieden, Ganzzahldivision die nächstkleinere ganze Zahl der Division zu nehmen, also bei -1 / 24 = -0.0417 --> -1. Damit ist -1 % 24 der Rest, der bei der Ganzzahldivision übrig bleibt, also -1 // 24 ist -1 Rest 23 da (-1 // 24) * 24 + 23 = -1.
Das hat den Vorteil dass Modulo eine positive ganze Zahl immer Zahlen zwischen 0 und der Zahl herauskommen und niemals negative Zahlen.

Re: Verständnissproblem bei `%`

Verfasst: Mittwoch 21. Oktober 2020, 11:49
von TotalerNewb
Achsooo, das mit der nächstkleineren ganzen Zahl leuchtet ein!
Vielen, vielen Dank für die Antwort!!!