2009-06-13 21 views
83

Python math kitaplığında bir modulo işlevi var mı?Python'da mod b nasıl hesaplanır?

15 % 4, 3? Ama 15 mod 4 1, değil mi?

+4

3, 15 mod 4'e eşittir. –

+0

Muhtemelen bunu (15 mod 4 = -1) söyleyenle aynı olduğunu düşünüyorsunuz (15 mod 4 = 3) –

+12

Dikkat: (-41)% 3 == -2 C, ancak (-41)% 3 == 1 Python'da http://stackoverflow.com/questions/828092/python-style-integer-division-modulus-in-c – jfs

cevap

133

% tabelası var. Sadece geri kalanı için değil, modulo operasyonudur.

9

Neden% kullanmıyorsunuz?


print 4 % 2 # 0 
16

mod = a % b

Bu değişken mod içinde a mod b sonucunu saklar.

>>> 15 % 4 
3 

@Macarse:

Ve haklısın, 15 mod 4 tam olarak ne piton döner olan 3'tür Evet, ama python herhangi \ = inşa için doğrudur, bu yüzden hiçbir var düşünmelidir Modulo için ayrı ayrı belirtmek gerekir.

+1

Not: a =% b geçerli . – Macarse

27
>>> 15 % 4 
3 
>>> 

Modulo, tamsayı bölmesinden sonra kalanı verir.

35

ayrıca (x/y, x % y)

2

Ben tam modulo açgözlüyüz sanmıyorum bir demet döndüren divmod(x, y) deneyebilirsiniz. a % b ve a mod b, modulo ifade etmek için sadece iki farklı yoldur. Bu durumda, python % kullanır. Hayır, 15 mod 4, 1, 15 % 4 == 15 mod 4 == 3 değil.

+0

bu olmamalıdır:% 15 4 == 15 mod 4 == 3? –