Lecture "Programming languages", exercise 1
essepuntato opened this issue ยท 19 comments
What is the boolean value of not (not True or False and True) or False
?
not (not True or False and True) or False = not (False or False) or false = True or False = True
not (not True or False and True) or False = not (False or False and True) or False = not (False and True) or False = not False or False = True or False = True
not (not True or False and True) or False
-->
not (False or False and True) or False
-->
not (False or False) or False
-->
not ( False) or False
-->
True or False
-->
True
not ( not True or False and True) or False
= not ( False or False and True) or False
= not ( False and True) or False
= not ( False) or False
= True or False
= True
not (not True or False and True) or False= not (False or False) or False=not (False) or False= True or False=True
- not (not True or False and True) or False
-not (False or False and True) or False
-not(False and True) or False
-not(False) or False
-True or False
-True
- not (not True or False and True) or False
- not (False or False and True) or False
- not (False or False) or False
- not False or False
- not False
- True
not ( not True or False and True) or False
-not ( False or False and True) or False
-not ( False and True) or False
-not ( False) or False
-True or False
-True
not (not True or False and True) or False
= not (not True or False and True)
= not (False or False and True)
= not (False or False)
= not (False)
= True
not (not True or False and True) or False
= not (False or False and True) or False
= not (False or False) or False
= not False or False
= True or False
= True
True
True
not (not True or False and True) or False =>
not (False or False and True) or False =>
not(False or False) or False =>
True or False =>
True
Not (not true or false and true) or false=
= Not (false or false) or false=
= not false or false=
= true or false=
= true
true
not (not True or False and True) or False
not (False or False and True) or False
not (False or False) or False
not False or False
True or False
True
Hi all,
Thanks for your answer. Please, remember that in Python, there is a particular precedence that is in place for solving the operators (including boolean operators). In particular, first not is executed, then and, and finally or. Thus, even if the final result of your computation may be correct (by chance), the actual substitution presented could have followed the wrong precedence order. Indeed, from the textbook:
Round brackets can be used for grouping boolean operations, e.g.
(True and False) or False
applies theand
operation first, and the result is used as the first value of theor
operation โ givenFalse
as a result. If there are no brackets, the application order proceeds as follows. First, one must execute all thenot
operations. Then, one must perform all theand
operations. Finally, one must assess the remainingor
operations.
Detailed information about the precedence of all Python operators can be found in the official documentation.
Not (not True or False and True) or False
Not (False or False and True) or False
Not (False or False) or False
Not False or False
True or False = True
not (not True or False and True) or False
not (False or False and True) or False
not (False or False) or False
not (False) or False
True or False
True