Seite 1 von 1

Modulo-Problem?

Verfasst: Mittwoch 25. August 2010, 11:12
von TeddyRuxpin
Hallo! Ich bin neu im Forum, beschäftige mich schon länger mit Python, aber ncoh nich tso intensiv.

Mir ist ein Problem aufgefallen, da wollte ich fragen, ob das vielleicht an der Python-Version liegt oder ob das bei euch so auch auftritt, oder ob ich da einen Denkfehler habe?

Es geht um die Funktion divmod()

Wenn ich

Code: Alles auswählen

divmod(3,2)
eingebe, bekomme ich richtigerweise 1, 1 zurück.

Wenn ich aber

Code: Alles auswählen

divmod(2,3)
eingebe, bekomme ich 0, 2 zurück.
Dies ist jedoch, wenn man nachrechnet, nicht korrekt. Die Ganzzahl stimmt, die 3 passt in die 2 genau 0 Mal rein.
Doch der Rest, der bleibt, ist eigentlich 3, und nicht 2. Oder?

Ist da mit der Version irgendwas nicht in Ordnung, oder sieht das divmod(a,b) vor, dass wenn a < b, dass dann ein nicht erwartetes Ergebnis kommt? Oder denke ich da irgendwie verkehrt?

Danke im Voraus.

Re: Modulo-Problem?

Verfasst: Mittwoch 25. August 2010, 11:18
von cofi
Willkommen im Forum!
TeddyRuxpin hat geschrieben:Dies ist jedoch, wenn man nachrechnet, nicht korrekt. Die Ganzzahl stimmt, die 3 passt in die 2 genau 0 Mal rein.
Doch der Rest, der bleibt, ist eigentlich 3, und nicht 2. Oder?
Doch das stimmt. Der Rest kann nicht groesser sein als die Zahl selbst.
help(divmod) hat geschrieben:divmod(...)
divmod(x, y) -> (div, mod)

Return the tuple ((x-x%y)/y, x%y). Invariant: div*y + mod == x.

Re: Modulo-Problem?

Verfasst: Mittwoch 25. August 2010, 11:58
von TeddyRuxpin
Doch das stimmt. Der Rest kann nicht groesser sein als die Zahl selbst.
Achja, ohje.. ich hatte den Denkfehler in der Vorstellung des Rests. Danke! *verwirrt guck*