In addition to the operators that we saw in the Comparison lesson, we will now add 3 more logical (Boolean) operators to the table:
Symbol | Example | Description |
---|---|---|
and |
x and y |
True if both operands are true |
or |
x or y |
True if either operand is true |
not |
not x |
True if the operand is false (it negates the operand) |
# This program gives naive life advice.
print('Answer "yes" or "no".')
happy_status = input('Are you happy?')
if happy_status == 'yes':
happy = True
elif happy_status == 'no':
happy = False
else:
print('I do not understand!')
rich_status = input('Are you rich?')
if rich_status == 'yes':
rich = True
elif rich_status == 'no':
rich = False
else:
print('I do not understand!')
if rich and happy:
# rich and at the same time.
print('Congratulations!')
elif rich:
# rich but not "rich and happy",
#so must be only rich.
print('Try to smile more.')
elif happy:
# must be only happy.
print('Try to spend less.')
else:
# neither happy nor rich.
print("I'm sorry for you.")
What happens if you answer something other than "Yes" or "No"?
The variables happy
and rich
won't be set, and later when they are needed, the program will end with an error.
We will learn how to handle errors next time.