Regardless of what number I put, It keeps telling me that n
is an odd number...
def odd_or_even(n):
if (n % 1) == 0:
print('{} is an odd number'.format(n))
else:
print('{} is an even number'.format(n))
odd_or_even(2)
Regardless of what number I put, It keeps telling me that n
is an odd number...
def odd_or_even(n):
if (n % 1) == 0:
print('{} is an odd number'.format(n))
else:
print('{} is an even number'.format(n))
odd_or_even(2)
You need to take n % 2
, every number equals 0 in modulo 1, since for every x
you have x = 1*x + 0
.
Also the clauses are flipped (odd means that x % 2 == 1
, while even means that x % 2 == 0
)
def odd_or_even(n):
if (n % 2) == 0:
print('{} is an even number'.format(n))
else:
print('{} is an odd number'.format(n))
odd_or_even(2)
(n % 1) is going to be 0 for any value n. If a number is even, the value of (n % 2) is 0 otherwise its 1.