2009-06-13 34 views
83

Có chức năng modulo trong thư viện python math không?Làm thế nào để tính toán một mod b trong python?

Không phải là 15 % 4, 3? Nhưng 15 mod 4 là 1, phải không?

+4

3 bằng 15 mod 4. –

+0

Có thể bạn đang nghĩ rằng (15 mod 4 = -1) giống như nói (15 mod 4 = 3) –

+12

Cẩn thận: (-41)% 3 == -2 trong C, nhưng (-41)% 3 == 1 bằng Python http://stackoverflow.com/questions/828092/python-style-integer-division-modulus-in-c – jfs

Trả lời

133

Có biển báo %. Nó không chỉ dành cho phần còn lại, nó là hoạt động modulo.

9

Tại sao bạn không sử dụng%?


print 4 % 2 # 0 
16

mod = a % b

này lưu trữ các kết quả của a mod b trong biến mod.

Và bạn là đúng, 15 mod 4 là 3, đó là chính xác những gì lợi nhuận python:

>>> 15 % 4 
3 

@Macarse: Vâng, nhưng đó là sự thật đối với bất kỳ \ = xây dựng trong python, vì vậy tôi nên suy nghĩ không có cần chỉ ra điều đó một cách riêng biệt cho modulo.

+1

Lưu ý: a% = b cũng hợp lệ . – Macarse

27
>>> 15 % 4 
3 
>>> 

Modulo cung cấp phần còn lại sau khi chia số nguyên.

35

bạn cũng có thể thử divmod(x, y) mà trả về một tuple (x/y, x % y)

2

Tôi không nghĩ rằng bạn đang hoàn toàn nắm modulo. a % ba mod b chỉ là hai cách khác nhau để thể hiện modulo. Trong trường hợp này, python sử dụng %. Không, 15 mod 4 không phải là 1, 15 % 4 == 15 mod 4 == 3.

+0

không nên là: 15% 4 == 15 mod 4 == 3? –

Các vấn đề liên quan