Is_prime


#1



Hey guys,
I don't get why I get an error with this code, it says "Your function fails on is_prime(2). It returns None when it should return True.". My code states that if 2 is the input it will check for whether it is a prime or not, but it neither returns True or False. I am a bit confused now, would be glad if someone explained me my mistake. :slight_smile:

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


#2

Ok, let us assume that x = 2.

if x < 2:
  return False

Well, 2 < 2 is False so we have to continue.

for n in range (3, 1):

That is the problem. Execute body of the loop for n = 3 till it reaches 1. The body of this loop will not be executed for x = 2.


#3

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