6. is_prime


#1



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


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


My function is failing when I input Prime Numbers in it. I'm assuming that it keeps dividing by 0 in the last loop, however, even when I add "break," after the return statements, the function still spits out the error.


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
                break


#2

Why add break? A function ends the moment a return keyword is reached, if this happens in a loop, return will break the loop.

currently you have if/else, this means that in the first iteration of your loop or: the if condition evaluates to true and false is returned, or else will run, and true will be returned.

You only want to return True after the for loop has finished running


#5