Bagaimana cara menghitung mod b di Python?

151

Apakah ada fungsi modulo di mathperpustakaan Python ?

Bukan 15 % 4, 3? Tetapi 15 mod 4apakah 1, benar?

Orang udik
sumber
6
3 sama dengan 15 mod 4.
Paul Fisher
2
Anda mungkin berpikir itu (15 mod 4 = -1) yang sama dengan mengatakan (15 mod 4 = 3)
Nathan Fellman
16
Hati-hati: (-41)% 3 == -2 di C, tetapi (-41)% 3 == 1 di Python stackoverflow.com/questions/828092/…
jfs

Jawaban:

240

Ada %tandanya. Ini bukan hanya untuk sisanya, ini adalah operasi modulo.

bengkak
sumber
57

Anda juga dapat mencoba divmod(x, y)yang mengembalikan tuple(x // y, x % y)

uolot
sumber
37
>>> 15 % 4
3
>>>

Modulo memberikan sisanya setelah pembagian integer.

Bill the Lizard
sumber
25

mod = a % b

Ini menyimpan hasil a mod bdalam variabel mod.

Dan Anda benar, 15 mod 4adalah 3, yang persis seperti apa yang dikembalikan oleh python:

>>> 15 % 4
3

a %= b juga valid.

Merijn
sumber
9

Mengapa Anda tidak menggunakan%?


print 4 % 2 # 0
Geo
sumber
5

Saya tidak berpikir Anda sepenuhnya memahami modulo. a % bdan a mod bhanya dua cara berbeda untuk mengekspresikan modulo. Dalam hal ini, penggunaan python %. Tidak, 15 mod 4tidak 1, 15 % 4 == 15 mod 4 == 3.

NotignedByte
sumber
1
A = [3, 1, 2, 4]
for a in A:
    print(a % 2)

keluaran:

1
1
0
0
Nehal Pawar
sumber