I get the following error message when submitting the code.

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

The code does not give any error messages when executed in an external environment, so there are no syntax errors.

That the code cannot process 0, is not really relevant. See the introduction to the exercise:

**is_prime**

"A prime number is a positive integer greater than 1 that has no positive divisors other than 1 and itself..."

So, the premise clearly stated is integer numbers 2 or higher. Thus the function does not need to be able to process 0, -3 or 4.67. Furthermore, the exact instructional steps 01 - 04 talks about checking if the number can be divided, assuming again an integer 2 or higher. There is no mentioning that the code should check for wrong input. Thus, failing code that cannot process numbers lower than 2 or even decimals for that matter is not really valid.

```
def is_prime(x):
for y in range(2, x):
if x % y == 0:
return False
break
else:
return True
```