15. Practice Makes Perfect #6

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

It looks like it skips my second if conditional without executing it. As a result, whatever number I input, it returns *True*

I have no idea why...

Any respond will be appreciated!

```
def is_prime(x):
if x <= 1:
return False
elif x == 2 or 3:
return True
else:
for n in range (2, x):
if x % n == 0:
return False
else:
return True
x = int( raw_input() )
print is_prime(x)
print range (2, x) #print range so as to make sure I use the correct numbers
```