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