So I'm going through the codecademy python course and one assignment is to create a function that can determine if a number is prime or not. I don't understand what the difference is between these two examples. The first one doesn't work but the second one does. I get this error message when I try to submit the first one:
Oops, try again. Your function fails on is_prime(3). It returns None when it should return True.
I got past the lesson but I would like to have an understanding of why these two sections of code are different. Why doesn't it recognize the return after the final else in the first example? Thank you
#This one doesn't work
#This one does
Oops, try again. Your function fails on is_prime(3). It returns None when it should return True.
I got past the lesson but I would like to have an understanding of why these two sections of code are different. Why doesn't it recognize the return after the final else in the first example? Thank you
#This one doesn't work
Code:
def is_prime(x):
if x < 2:
return False
elif x == 2:
return True
else:
for n in range(2, x-1):
if x % n == 0:
return False
else:
return True
#This one does
Code:
def is_prime(x):
if x < 2:
return False
elif x == 2:
return True
else:
for n in range(2, x-1):
if x % n == 0:
return False
return True