Selection — IF and CASE
Handout
This page needs a recent browser (with SharedArrayBuffer support). Please update Chrome, Edge, Firefox or Safari to the latest version.
Making a decision
- Selection means choosing what to do, based on a test.
- An
ifruns its block only when the test is true. - The test gives a Boolean:
TrueorFalse.
age = 20
if age >= 18:
print("You may vote")
else: the other path
elseruns when theiftest is false.- Exactly one of the two blocks runs.
mark = 45
if mark >= 50:
print("Pass")
else:
print("Fail")
elif: many paths
- Use
elifto test more conditions in order. - Python checks each test top to bottom and stops at the first true one.
mark = 72
if mark >= 70:
print("A")
elif mark >= 50:
print("B")
else:
print("C")
Explore
if / elif / else — which runs?
Tests run top-down; the first true one runs, the rest are skipped.
Comparison operators
==means equal to (the exam writes=).!=means not equal to (the exam writes<>).- Also use
<,>,<=,>=.
print(5 == 5) # True
print(5 != 3) # True
print(3 <= 2) # False
In the exam: IF and CASE
- Pseudocode uses
IF … THEN … ELSE … ENDIF, orCASEfor many fixed choices.
IF Mark >= 50 THEN
OUTPUT "Pass"
ELSE
OUTPUT "Fail"
ENDIF
Common mistakes
- Compare with
==, not=. - Cover every case, including the
else. - Indent the block that belongs to each branch.
Now you try
- Read the input, then choose what to print with
if/elif/else. - Press Check answer to test your code.
Read a whole number, then print even if it divides by 2 with no remainder, otherwise print odd. For input 4, print even.
Click Run to see the output here.
Read a mark (0–100). Print A for 70 or more, B for 50–69, and C for anything less. For input 65, print B.
Click Run to see the output here.
Two numbers a and b are set for you. Use an if to store the larger one in biggest.
Click Run to see the output here.