2011-07-13 28 views
10

Quiero agregar un número y a x, pero tengo x ajustar para permanecer entre cero y 48. Nota y podría ser negativo, pero nunca tendrá una magnitud mayor que 48. ¿Hay una mejor manera de haciendo esto que:Además modular en python

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

?

Respuesta

15
x = (x + y) % 48 

El operador de módulo es tu amigo.

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

puede utilizar el operador de módulo:

x = (x+y) % 48 
3

Si estás haciendo la aritmética modular, sólo hay que utilizar el operador de módulo.

x = (x + y) % 48 
2

sólo puede utilizar

x = (x+y) % 48 

que le dará positivo x para cualquier número.

+0

x no negativas (podrían ser 0). –

2

No solo (x+ y)% 48 sería adecuado para usted. Ver más en el módulo here.

1

(+ y x)% 48

Reemplazar 48 con lo que le plazca.

Cuestiones relacionadas