Conditionals ↩
- The ‘if’ statement
- The ‘if … else’ statement
- The ‘if … elif … else’ statement
- Nested conditionals
- Conditional expressions
When writing a program, sometimes we need to do different things depending on the context: “if this happens, go this way; if that happens, go that way; if none of the above, go this other way”.
The conditional statements if
, elif
(else if) and else
allow us to branch the control flow of a program.
The ‘if’ statement
The if
statement allows us to run a certain piece of code only if a certain condition is met. A simple example:
isRaining = True
if isRaining:
print("take your rain coat")
Here we are using the if
statement to check if the variable is set to True
; if it is, we print out some text; otherwise, nothing happens.
The expression after if
can be anything: a comparison, a membership test, a function, an object, etc.
age = 16
if age < 18:
print('you cannot get a driver license yet')
The ‘if … else’ statement
The else
statement allows us to run a different piece of code when the condition defined in the if
statement is not met:
>>> userName = input("user name: ")
>>> if userName:
... 'hello ' + userName
... else:
... 'error (no name given)'
The example script above will first prompt the user for a name. If one is given, the program will return a greeting; if the question is escaped (by pressing Enter), it will return an error message.
The ‘if … elif … else’ statement
If we need to handle more than just two conditions, we can use one or more elif
(else if) statements between if
and else
:
hour = 13
if 0 < hour < 12:
print("good morning")
elif 12 <= hour <= 17:
print("good afternoon")
else:
print("good evening")
Nested conditionals
Conditionals can be nested and combined with other expressions into larger compound statements:
if font:
if font.selectedGlyphs:
for glyph in font.selectedGlyphs:
glyph.doSomething()
else:
print('no glyphs selected')
else:
print('no font selected')
Conditional expressions
Conditional expressions or ternary operators are a condensed form of conditional statements. They can be used inline to choose one value or another depending on the evaluation of a statement.
When used well, conditional expressions can help to reduce code size and enhance readability. Here’s an example:
sky = 'blue'
value = 10 if sky is 'blue' else 100
The corresponding code using if … else
statements would take four lines:
sky = 'blue'
if sky is 'blue':
value = 10
else:
value = 100