2011-07-13 11 views
10

Tôi muốn thêm một số y vào x, nhưng có x quấn quanh để giữ nguyên từ 0 đến 48. Lưu ý y có thể âm nhưng sẽ không bao giờ có độ lớn lớn hơn 48. Có cách nào tốt hơn không làm việc này hơn:Bổ sung mô-đun vào python

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

?

Trả lời

15
x = (x + y) % 48 

Toán tử modulo là bạn của bạn.

>>> 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

bạn có thể sử dụng toán tử modulo:

x = (x+y) % 48 
3

Nếu bạn đang làm số học modula, bạn chỉ cần sử dụng toán tử modulo.

x = (x + y) % 48 
2

Bạn chỉ có thể sử dụng

x = (x+y) % 48 

mà sẽ cung cấp cho bạn tích cực x cho bất kỳ con số.

+0

không âm x (có thể là 0). –

2

Không chỉ (x+ y)% 48 phù hợp với bạn. Xem thêm về modulo here.

1

(x + y)% 48

Thay thế 48 bằng bất kỳ thứ gì bạn muốn.