How to determine if an integer is even or odd [closed]

Solution 1:

def is_odd(num):
    return num & 0x1

It is not the most readable, but it is quick:

In [11]: %timeit is_odd(123443112344312)
10000000 loops, best of 3: 164 ns per loop

versus

def is_odd2(num):
   return num % 2 != 0

In [10]: %timeit is_odd2(123443112344312)
1000000 loops, best of 3: 267 ns per loop

Or, to make the return values the same as is_odd:

def is_odd3(num):
   return num % 2

In [21]: %timeit is_odd3(123443112344312)
1000000 loops, best of 3: 205 ns per loop

Solution 2:

def is_odd(num):
   return num % 2 != 0

Symbol "%" is called modulo and returns the remainder of division of one number by another.