6: is_prime


#1

Hey, i'm at Practice Makes Perfect, 6: is_prime, and my code is
def is_prime(x):
if x < 2:
return False
elif x == 2:
return True
else:
for n in range(2, x):
if x % n == 0:
return False
break
else:
return True

My error is Oops, try again. Your function fails on is_prime(9). It returns True when it should return False.

What i don't understand, is why the loop doesn't exit once 9 % 3 == 0 is reached?


#2

This line should be outside of the if block and outside of the for block. It doesn't need an else: (or a break, for that matter). Just make it the last line of the function,