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,