i%2 == 1 # odd
i%2 == 0 # even
>>> for i in range(1,10):
... print(i,i%2)
...
1 1
2 0
3 1
4 0
5 1
6 0
7 1
8 0
9 1
>>>
The
%
(modulo) operator yields the remainder from the division of the first argument by the second. The numeric arguments are first converted to a common type. A zero right argument raises theZeroDivisionError
exception. The arguments may be floating point numbers, e.g.,3.14%0.7
equals0.34
(since3.14
equals4*0.7+ 0.34
.) The modulo operator always yields a result with the same sign as its second operand (or zero); the absolute value of the result is strictly smaller than the absolute value of the second operand [1].