How to calculate a mod b in Python?

Each Answer to this Q is separated by one/two green lines.

Is there a modulo function in the Python math library?

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

There’s the % sign. It’s not just for the remainder, it is the modulo operation.

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

>>> 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.

Why don’t you use % ?


print 4 % 2 # 0

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.

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

output:

1
1
0
0


The answers/resolutions are collected from stackoverflow, are licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0 .

Leave a Reply

Your email address will not be published.