This code is right.

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

However, below is wrong. But I don't understand why.

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

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