Practice Makes Perfect- is_prime


#1



https://www.codecademy.com/courses/python-intermediate-en-rCQKw/0/6?curriculum_id=4f89dab3d788890003000096#

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


def is_prime(x):
    if x <2:
        return False
    elif x ==2 or x==3:
        return True
    else:
        for n in range(2, x):
            if x%n == 0:
                return False
            else:
                return True


#2

a function ends the moment a return keyword is reached, which in your case happens in the first run of the loop.

You might want to think about the indention of your code, so your whole loop can run before returning true


#3

He means change this:

for n in range(2, x):
            if x%n == 0:
                return False
            else:
                return True

into this:

for n in range(2, x):
            if x%n == 0:
                return False
else:
                return True