Python if..else Statement

In this tutorial, we will learn about Python if...else statements with the help of examples.

While programming, there are times when we need to make decisions based on certain values and conditions.

In Python, we use the if statement to create programs that can make decisions.

The syntax of the if statement is:

if test_condition:
    statement(s)

If test_condition is True, the body of the if statement is executed.

However, if test_condition is False, the body of the if statement is skipped from execution.


Example: Check if student passed the exam

Suppose you are a university student and to pass the examination you need to score 50 or more. Let's look at a program to check if you passed the exam.

score = int(input("Enter a number: "))

if score >= 50:
   print("You have passed your exams.")
   print("Congratulations!")

For a number greater than or equal to 50:

Output

Enter a number: 75
You have passed your exams.
Congratulations!

Otherwise (number smaller than 50):

Output

Enter a number: 35

We can see nothing is printed as the if block is skipped. We can add one more if statement to handle this as:

score = 35

if score >= 50:
   print("You have passed your exam.")
   print("Congratulations!")

if score < 50:
   print("Sorry, you have failed your exam.")

Output

Sorry, you have failed your exam.

Python if...else statement

The if statement can have an optional else clause to run when test_condition is False. The syntax of if..else is:

if test_condition:
    statement(s)
else:
    statement(s)

If test_condition evaluates to True,

  • the code inside if is executed
  • the code inside else is skipped

If test_condition evaluates to False,

  • the code inside else is executed
  • the code inside if is skipped

Let's see an example,

score = 35

if score >= 50:
   print("You have passed your exam.")
   print("Congratulations!")

else:
   print("Sorry, you have failed your exam.")

Output

Sorry, you have failed your exam.

Here, since if score >= 50 evaluated to False, the else block is executed.


Python if...elif...else statement

The if statement can also have multiple elif clauses to handle more than two test cases. The syntax of if...elif...else is:

if test_condition1:
    statements_1
elif test_condition2:
    statement_2
else:
    statements_3

Here, if test_condition1 evaluates to True, code statement_1 is executed.

However, if test_condition1 evaluates to False, code test_condition2 is executed.

If test_condition2 is True, statement_2 is executed. But if test_condition2 is False, statement_3 is executed.

Example: Python if...elif...else statement

score = 105

if score > 100 or score < 0:
   print("Score is invalid.")
elif score >= 50:
   print("You have passed your exam.")
   print("Congratulations!")
else:
   print("Sorry, you have failed your exam.")

Output

Score is invalid.

Here, since score > 100 or score < 0 evaluates to True, the statement inside if is executed.


Python Nested if Statement

In Python, we can also use an if statement inside another if statement. This is called a nested if statement.

The syntax of nested if statement is:

if test_condition1:
    statements_1

    if test_condition2:
        statement_2

Note:

  • We can nest multiple layers of if statements.
  • We can add else and elif to the inner if statement.
  • We can also add inner if statement inside outer else or elif if needed.

Example: Python Nested if Statement

Let's check when the number is positive, either it is odd or even.

num = 5

if num > 0:
    if num % 2 == 0:
        print('Number is even')
    else:
        print('Number is odd')
else:
    print('Number is a non-positive integer')

Output

Number is odd

Here, the program will first check if num is greater than 0. If the num is greater than 0, the program will again check another condition, if the num is divisible by 2.

  • If num is divisible by 2, the program will print 'Number is even'
  • If num is not divisible by 2, the program will print 'Number is odd'

However, if num is not greater than 0 in the first place, the program will directly execute the outer else block.

Recommended Reading: Python match…case

Did you find this article helpful?