17 Stimmen

Modulare Addition in Python

Ich möchte eine Zahl y zu x addieren, aber x soll so umlaufen, dass es zwischen Null und 48 bleibt. Beachten Sie, dass y negativ sein könnte, aber nie einen Wert größer als 48 haben wird. Gibt es eine bessere Möglichkeit, dies zu tun als:

x = x + y
if x >= 48:
    x = x - 48
elif x < 0:
    x = x + 48

?

1voto

Doug Stephen Punkte 7011

(x + y) % 48

Ersetzen Sie 48 durch eine beliebige Zahl.

1voto

peterhil Punkte 1458

Man könnte auch eine Klasse für die modulare Arithmetik erstellen, wie es hier gemacht wurde: http://anh.cs.luc.edu/331/code/mod_arith.py
http://anh.cs.luc.edu/331/code/mod.py

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X