[python] How to calculate a mod b in Python?

Is there a modulo function in the Python math library?

Isn't 15 % 4, 3? But 15 mod 4 is 1, right?

This question is related to python

The answer is


I don't think you're fully grasping modulo. a % b and a mod b are just two different ways to express modulo. In this case, python uses %. No, 15 mod 4 is not 1, 15 % 4 == 15 mod 4 == 3.


you can also try divmod(x, y) which returns a tuple (x // y, x % y)


Why don't you use % ?


print 4 % 2 # 0

>>> 15 % 4
3
>>>

The modulo gives the remainder after integer division.


mod = a % b

This stores the result of a mod b in the variable mod.

And you are right, 15 mod 4 is 3, which is exactly what python returns:

>>> 15 % 4
3

a %= b is also valid.


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

output:

1
1
0
0