Oops, try again. Your function fails on is_prime(3). It returns None when it should return True.
**Can someone help me with this? I've been working on this for a whole day and still don't know why I am getting this error. What I am understanding is that we want to try to divide the number by numbers in the range and if it equals 0 then there is a number divisible and therefore x is not a prime number and we can break the for loop. What I don't understand is why 3 won't work with this and how I can tell Python to go back to for loop and try again if one of (n) numbers returns as "True". **
def is_prime(x): if x == 1: return False elif x == 0: return False elif x == 2: return True print "Only even prime number" elif x > 3: for n in range(2, x): if x % n == 0: return False break else: return True print is_prime(9)