Как рассчитать мод b в Python?

151

Есть ли функция по модулю в mathбиблиотеке Python ?

Не 15 % 4, 3? Но 15 mod 41, верно?

деревенщина
источник
6
3 равно 15 мод 4.
Пол Фишер
2
Вы, вероятно, думаете, что (15 мод 4 = -1), что то же самое, что сказать (15 мод 4 = 3)
Натан Феллман
16
Осторожно: (-41)% 3 == -2 в С, но (-41)% 3 == 1 в Python stackoverflow.com/questions/828092/…
jfs

Ответы:

240

Там %знак. Это не только для остатка, это операция по модулю.

eduffy
источник
57

Вы также можете попробовать, divmod(x, y)который возвращает кортеж(x // y, x % y)

uolot
источник
37
>>> 15 % 4
3
>>>

Модуль дает остаток после целочисленного деления.

Билл Ящерица
источник
25

mod = a % b

Это сохраняет результат a mod bв переменной mod.

И вы правы, 15 mod 4это 3, это именно то, что возвращает Python:

>>> 15 % 4
3

a %= b также действует.

Merijn
источник
9

Почему вы не используете%?


print 4 % 2 # 0
Geo
источник
5

Я не думаю, что вы полностью понимаете по модулю. a % bи a mod bпросто два разных способа выразить по модулю. В этом случае Python использует %. Нет, 15 mod 4не 1, 15 % 4 == 15 mod 4 == 3.

UnsignedByte
источник
1
A = [3, 1, 2, 4]
for a in A:
    print(a % 2)

вывод:

1
1
0
0
Нехал Павар
источник