# Python 2: QUESTION "Not Not False" Not Lesson - Conditionals & Control Flow

Hello,

I am currently learning about the And, Or, Not - True or False Boolean Operators in this Python course.
In one of my recent exercises, I had to fill the result of a boolean that said “Not Not False”. At first, I entered the answer as True, thinking that the answer was opposite of False. However, much to my surprise, the answer to this boolean is False. Why?

Why can’t the answer to “Not Not False” boolean be “True”?

`not False` is true, but then you end up with `not True` (given you had `not` twice), which again flips the Boolean

`not` makes True → False and vice versa. so: `not not not False` would be true

1 Like

I’m not sure if this way will help you to understand better:

``````result1 = False
result2 = not result1
result3 = not result2

print(result1,result2, result3)
``````

Otherwise, look at it this way:

``````print(False, not False, not(not False))
``````

so would print(False, not False, not(not False)) be true or false?

So Not not False would still be False?

yes, the first `not` flips the boolean from false to true, then the second `not` will flip it again/back.

I use `not not` sometimes to convert a truthy/falsy value to a boolean, for example:

``````print(not not "I am true") # prints: true
``````

If “Not Not False” be “True”, then what will be your result for “Not False”?

so would print(False, not False, not(not False)) be true or false?
You can run that statement in Python to see the result.

``````print(False, not False, not(not False))
False True False
``````

I was trying to illustrate to you the gradual change from `False`, `not False` and then `not not False`. Hence, to answer your question, Not Not False = False.

While in JavaScript `!!x` is terse and I’d agree with the usage there, in Python I think `bool(X)` is better over `not not x`. It is terse and arguably more explicit.

1 Like

Thank you very much

Yes it is confusing sometimes, but this comment also helped too. Thank you very much