Control Flow
Else If Statements

We have if statements, we have else statements, we can also have elif statements.

Now you may be asking yourself, what the heck is an elif statement? It’s exactly what it sounds like, “else if”. An elif statement checks another condition after the previous if statements conditions aren’t met.

We can use elif statements to control the order we want our program to check each of our conditional statements. First, the if statement is checked, then each elif statement is checked from top to bottom, then finally the else code is executed if none of the previous conditions have been met.

Let’s take a look at this in practice. The following function will display a “thank you” message after someone donates to a charity: It takes the donation amount and prints a message based on how much was donated.

def thank_you(donation): if donation >= 1000: print("Thank you for your donation! You have achieved platinum donation status!") elif donation >= 500: print("Thank you for your donation! You have achieved gold donation status!") elif donation >= 100: print("Thank you for your donation! You have achieved silver donation status!") else: print("Thank you for your donation! You have achieved bronze donation status!")

Take a second to think about this function. What would happen if all of the elif statements were simply if statements? If you donated $1000.00, then the first three messages would all print because each if condition had been met.

But because we used elif statements, it checks each condition sequentially and only prints one message. If I donate $600.00, the code first checks if that is over $1000.00, which it is not, then it checks if it’s over $500.00, which it is, so it prints that message, then because all of the other statements areelif and else, none of them get checked and no more messages get printed.

Try your hand at some other elif statements.



Calvin Coolidge’s Cool College has noticed that students prefer to get letter grades over GPA numbers. They want you to write a function called grade_converter that converts an inputted GPA into the appropriate letter grade. Your function should be named grade_converter, take the input gpa, and convert the following GPAs:

  • 4.0 or higher should return "A"
  • 3.0 or higher should return "B"
  • 2.0 or higher should return "C"
  • 1.0 or higher should return "D"
  • 0.0 or higher should return "F"

You can do this by creating a variable called grade.

Then, you should use elif statements to set grade to the appropriate letter grade for the gpa entered.

At the end of the function, return grade.

Folder Icon

Sign up to start coding

Already have an account?