Login
📚 Introduction to Python Programming
Chapters ▾
⇩ Download ▾

4.5 Chained decisions

Learning objectives

By the end of this section you should be able to

  • Identify the branches taken in an if-elif and if-elif-else statement.
  • Create a chained decision statement to evaluate multiple conditions.

elif

Sometimes, a complicated decision is based on more than a single condition. Ex: A travel planning site reviews the layovers on an itinerary. If a layover is greater than 24 hours, the site should suggest accommodations. Else if the layover is less than one hour, the site should alert for a possible missed connection.

Two separate if statements do not guarantee that only one branch is taken and might result in both branches being taken. Ex: The program below attempts to add a curve based on the input test score. If the input is 60, both if statements are incorrectly executed, and the resulting score is 75.

score = int(input())
if score < 70:
  score += 10
# Wrong:
if 70 <= score < 85:
  score += 5

Chaining decision statements with elif allows the programmer to check for multiple conditions. An elif (short for else if) statement checks a condition when the prior decision statement's condition is false. An elif statement is part of a chain and must follow an if (or elif) statement.

if-elif statement template:


    # Statements before

    if condition:
      # Body
    elif condition:
      # Body
    
    # Statements after

if-elif-else statements

Elifs can be chained with an if-else statement to create a more complex decision statement. Ex: A program shows possible chess moves depending on the piece type. If the piece is a pawn, show moving forward one (or two) places. Else if the piece is a bishop, show diagonal moves. Else if... (finish for the rest of the pieces).