Key takeaways
1. The comparison (otherwise known as relational) operators are used to compare values. The table below illustrates how the comparison operators work, assuming that x = 0, y = 1, and z = 0:
OperatorDescriptionExample
==returns True if operands' values are equal, and False otherwise
!=returns True if operands' values are not equal, and False otherwise
x != y # True
x != z # False
>True if the left operand's value is greater than the right operand's value, and False otherwise
x > y # False
y > z # True
<True if the left operand's value is less than the right operand's value, and False otherwise
x < y # True
y < z # False
≥True if the left operand's value is greater than or equal to the right operand's value, and False otherwise
x >= y # False
x >= z # True
y >= z # True
≤True if the left operand's value is less than or equal to the right operand's value, and False otherwise
x <= y # True
x <= z # True
y <= z # False
2. When you want to execute some code only if a certain condition is met, you can use a conditional statement:
x = 10
if x == 10: # condition
print("x is equal to 10") # Executed if the condition is True.
x = 10
if x > 5: # condition one
print("x is greater than 5") # Executed if condition one is True.
if x < 10: # condition two
print("x is less than 10") # Executed if condition two is True.
if x == 10: # condition three
print("x is equal to 10") # Executed if condition three is True.
Each if statement is tested separately.
x = 10
if x < 10: # Condition
print("x is less than 10") # Executed if the condition is True.
else:
print("x is greater than or equal to 10") # Executed if the condition is False.
x = 10
if x > 5: # True
print("x > 5")
if x > 8: # True
print("x > 8")
if x > 10: # False
print("x > 10")
else:
print("else will be executed")
Each if is tested separately. The body of else is executed if the last if is False.
x = 10
if x == 10: # True
print("x == 10")
if x > 15: # False
print("x > 15")
elif x > 10: # False
print("x > 10")
elif x > 5: # True
print("x > 5")
else:
print("else will not be executed")
If the condition for if is False, the program checks the conditions of the subsequent elif blocks – the first elif block that is True is executed. If all the conditions are False, the else block will be executed.
x = 10
if x > 5: # True
if x == 6: # False
print("nested: x == 6")
elif x == 10: # True
print("nested: x == 10")
else:
print("nested: else")
else:
print("else")
Key takeaways: continued
Exercise 1
What is the output of the following snippet?
x = 5
y = 10
z = 8
print(x > y)
print(y > z)
Check
False
True
Exercise 2
What is the output of the following snippet?
x, y, z = 5, 10, 8
print(x > z)
print((y - 5) == x)
Check
False
True
Exercise 3
What is the output of the following snippet?
x, y, z = 5, 10, 8
x, y, z = z, y, x
print(x > z)
print((y - 5) == x)
Check
True
False
Exercise 4
What is the output of the following snippet?
x = 10
if x == 10:
print(x == 10)
if x > 5:
print(x > 5)
if x < 10:
print(x < 10)
else:
print("else")
Check
True
True
Else
Exercise 5
What is the output of the following snippet?
x = "1"
if x == 1:
print("one")
elif x == "1":
if int(x) > 1:
print("two")
elif int(x) < 1:
print("three")
else: print("four")
if int(x) == 1:
print("five")
else:
print("six")
Check
four
five
Exercise 6
What is the output of the following snippet?
x = 1
y = 1.0
z = "1"
if x == y:
print("one")
if y == int(z):
print("two")
elif x == y:
print("three")
else:
print("four")
Check
one
two