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

?

26voto

nmichaels Punkte 47432
x = (x + y) % 48

Der Modulo-Operator ist Ihr Freund.

>>> 48 % 48
0: 0
>>> 49 % 48
1: 1
>>> -1 % 48
2: 47
>>> -12 % 48
3: 36
>>> 0 % 48
4: 0
>>> 12 % 48
5: 12

3voto

JAB Punkte 19937

Wenn Sie modulare Arithmetik betreiben, müssen Sie einfach den Modulo-Operator verwenden.

x = (x + y) % 48

3voto

eat Punkte 7340

Würden nicht nur (x+ y)% 48 für Sie geeignet sein. Siehe mehr auf modulo aquí .

2voto

Andre Holzner Punkte 17531

Können Sie den Modulo-Operator verwenden:

x = (x+y) % 48

2voto

Howard Punkte 37723

Sie können einfach Folgendes verwenden

x = (x+y) % 48

die Sie positiv beeinflussen werden x für beliebige Zahlen.

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