Question: ```py
# x = 1
# x = 0

if x:
    print(f'x = {x}, and therefore it\'s truthy')
else:
    print(f"x = {x}, and therefore it's falsey")

```

Hi everyone, I am a little confused with this exercise. The code doesn't have any explanation as when the system should print `truthy` or `falsey` yet it knows when to print it. Why is that?

Answer: 
I think it's just a way to show that `0` is interpreted as `False` in a boolean expression like a comparison or an `if` etc, and `1` (or any other non-zero number) is interpreted as `True`.

Edit: and like said in some comments, the fact that a value is "truthy" doesn't mean that is strictly equal to True
for example:

```py
print(1 == True) # True
print(0 == False) # True
print(2 == True) # False
print(not not 2) # True
print(not 0) # True
print(not not 0) # False
print(0 and True) # False
print(2 and False) # False
print(2 and True) # True
print(0 or 2) # True
# etc ...

```
If *x* is an int and has a value of zero it is equal to False and therefore falsey. If *x* is an int and has a value of 1 it is equal to True and is therefore truthy. However, if *x* is an int and is neither 0 nor 1 it is truthy but **not** equal to True. Therefore, when *x* is of type int, *if x:* can be interpreted as 'if x is non-zero'