In question 8 I do that:
bool_one = not True is True
bool_five = not not False is True
and only then it takes it as correct and allows me to pass the class. But isn't it the opposite??
Don't use the
is operator here.
What that operator does is test if two values are the same - not just equal but the very same values.
For some values, such as booleans, there are only single instances, while for others they need to be separate.
True is True # True (There's no need of multiple instances of something that never changes)  is  # False (Two lists should not be the same, because if you change one of them, you would want the other to be unaffected)
Bottom line, you probably won't need this operator at all.
If the instructions are asking for "The result of a boolean expression" then that is either
False, so that's what you'd put, like so:
bool_fifty_seven = True