Is_prime returns None when input is 3


#1



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


Error states: Oops, try again. Your function fails on is_prime(3). It returns None when it should return True.


I expected the console to return True, as instructed in the else statement in the for loop, because it does not meet the condition of the 2nd if statement.


Replace this line with your code. 
def is_prime(x):
    if x < 2:
        return False
    elif x == 2:
        return True
    
    for n in range(2, x-1):
        if x % n == 0:
            return False # number is not prime
        else:
            return True # at x = 3, fnctn does not return True..


#2

No else branch, else the return is a potential (likely) false positive.


#3

Hello,

Thank you for your quick response! I understand the solution.


#4

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.