9.5. If Else Statements¶
In Python, if-statements can include else clauses. An else clause is a section of code that runs if the if-statement is False
. If the if-statement is True
, the code section under the else clause does not run.
The general form of an if-statement with an else statement is below:
if <logical_condition>:
<code block 1>
else:
<code block 2>
The keyword else
needs to be on its own line and be at the same indentation level as the if
keyword that the else
corresponds to. The keyword else
needs to be followed by a colon :
. Any code that is included as part of the else statement must be indented the same amount.
A sample if/else code section is below:
a = 5
if a>10:
print('a is greater than 10')
else:
print('a is less than 10')
a is less than 10
Since a=5
assigns a value to a
that is less than 10, a>10
is False
and the code under the if
statement does not run. Therefore, the code under the else
statement does run, and "a is less than 10"
is printed.
If the value of a
is modified so that a
is greater than 10
, a>10
returns True
, and the code under the if
statement will run, and the code under the else
keyword will not.
a = 20
if a>10:
print('a is greater than 10')
else:
print('a is less than 10')
a is greater than 10
9.5.1. elif¶
The else if statement can be added to an if statement to run different sections of code depending on which one of many conditions are True
. The basic syntax of an else if section of code is:
if <logical_condition>:
<code block 1>
elif <logical_condition>:
<code block 2>
else:
<code block 3>
The keyword elif
must be followed by a logical condition that evaluates as True
or False
followed by a colon :
. The <code block>
runs if the elif
condition is True
and is skipped if the elif
condition is False
.
An example section of code using if
, elif
and else
is below:
color = 'green'
if color == 'red':
print('The color is red')
elif color == 'green':
print('The color is green')
else:
print('The color is not red or green')
The color is green
If we modify the code and set color = 'orange'
, the code under the if
does not run, and the code under the elif
does not run either. Only the code under the else
is executed.
color = 'orange'
if color == 'red':
print('The color is red')
elif color == 'green':
print('The color is green')
else:
print('The color is not red or green')
The color is not red or green