Python-Modulo-Operator-Verhalten mit negativen Zahlen
Der Modulo-Operator (%) in Python behandelt negative Zahlen anders als in C oder C . Im Gegensatz zu diesen Sprachen stellt der Modulo-Operator von Python immer sicher, dass das Ergebnis das gleiche Vorzeichen wie der Nenner hat.
Warum -5 % 4 3 ergibt, nicht -1
Betrachten Sie den Ausdruck -5 % 4. In diesem Fall ergibt er den Wert 3, da die Berechnung wie folgt verläuft folgt:
Python wählt dieses Verhalten, weil ein nicht negatives Ergebnis im Allgemeinen nützlicher ist. Wenn Sie beispielsweise Wochentage mit der Formel (2 - N) % 7 berechnen, stellt der Modulo-Operator sicher, dass das Ergebnis in den Bereich [0, 6] fällt, der die Wochentage darstellt.
Im Gegensatz zum C-Verhalten
Wenn in C in dieser Formel N größer oder gleich 3 ist, wäre das Ergebnis negativ, was keine gültige Tageszahl ist. Um ein korrektes Ergebnis zu erhalten, erfordert C eine manuelle Anpassung durch Addition von 7 zum negativen Ergebnis.
Weitere Informationen zum Verhalten des Modulo-Operators bei negativen Zahlen in verschiedenen Sprachen finden Sie im Wikipedia-Artikel zum Modulo Betreiber.
Das obige ist der detaillierte Inhalt vonWarum erzeugt der Modulo-Operator von Python ein positives Ergebnis mit negativen Zahlen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!