6.3. Block Elif

6.3.1. Rationale

  • Used to check for additional condition if first is not met

  • In other languages is known as else if

  • Conditional Alternative

6.3.2. Syntax

  • Optional else

>>> 
... if <condition>:
...     <do something>
... elif <condition>:
...     <do something>
>>> 
... if <condition>:
...     <do something>
... elif <condition>:
...     <do something>
... else:
...     <do something>

6.3.3. Example

>>> number = int(input('Type digit: '))  # User input: '5'
>>>
>>>
>>> if 0 <= number < 3:
...     print('small')
... elif 3 <= number < 7:
...     print('medium')
... elif 7 <= number < 10:
...     print('large')
medium

6.3.4. Why not many ifs?

  • With many ifs, Python will evaluate all of them

  • With elifs Python will stop, after first True evaluation

>>> number = int(input('Type digit: '))  # User input: '5'
>>>
>>>
>>> if 0 <= number < 3:
...     print('small')
>>>
>>> if 3 <= number < 7:
...     print('medium')
medium
>>>
>>> if 7 <= number < 10:
...     print('large')

6.3.5. Else

>>> number = int(input('Type digit: '))  # User input: '10'
>>>
>>>
>>> if 0 <= number < 3:
...     print('small')
... elif 3 <= number < 7:
...     print('medium')
... elif 7 <= number < 10:
...     print('large')
... else:
...     print('Not a digit')
Not a digit

6.3.6. Use Case - 0x01

>>> language = input('What is your language?: ')  # User input 'Polish'
>>>
>>>
>>> if language == 'English':
...     print('Hello')
... elif language == 'Russian':
...     print('Здравствуйте')
... elif language == 'German':
...     print('Guten Tag')
... elif language == 'Polish':
...     print('Witaj')
... else:
...     print("I don't speak this language")
Witaj

6.3.7. Assignments