# Python if elif else statements (With Examples)

By Lenin Mishra

The `if` statement in Python is similar to if statements in most procedural languages. It starts with an `if test`, followed by one or more optional `elif` (else if) tests and a final optional `else` block. The `if-elif` tests and the `else` part each have a block of nested statements, indented by 4 spaces or a tab.

When an `if` statement is executed, Python executes the block of code associated with the first test that evaluates to True, or the `else` block if all tests prove false.

Syntax of if, elif and else statements

``````if <test_1>: # if test
<statement_1> # Associated nested block of if
elif <test_2>: # Optional elifs
<statement_2> # Associated nested block of elif
else: # Optional else
<statement_3>``````

### Example 1

Let’s write a Python program to check if a number is odd or even.

Code

``````num = 12

if num%2 == 0:
print("It is even")
else:
print("It is odd")``````

Output

``It is even``

There is only 1 test being performed here - Checking of the remainder of a number divided by 2 is 0. If the test returns True, the number is declared even. You don’t have to write a second test to check if the number is odd. A number can either be even or odd. If the test returns False, the code in the `else` block gets executed.

### Example 2

Let’s try out another example. Let’s write a Python program to check if a number is positive, negative or 0.

For this example, 2 tests need to be performed.

1. Test 1 - Check if the number is positive
2. Test 2 - Check if the number is negative
3. If the number is neither positive nor negative, it is 0

Code

``````num = 10

if num > 0:
print("It is positive")
elif num < 0:
print("It is negative")
else:
print("The number is 0")``````

Output

``It is positive``

The second test is used within an `elif` block. If your python program requires multiple tests, add as many elif blocks you want.

### Example 3

Let’s write a Python program to check the status of a batsman’s score.

1. Test 1 - Check if the batsman got out at 0. It’s a duck!
2. Test 3 - Check if the batsman scored between 50 and 100. It’s a half century!
3. Test 4 - Check if the batsman scored between 100 and 200. It’s a century!
4. Test 5 - Check if the batsman score more than 200. It’s a double century!
5. If none of the tests hold True, just print the score.

Code

``````score = 52

if score == 0:
print("Duck")
elif score >= 50 and score < 100:
print("Half century")
elif score >= 100 and score < 200:
print("Century")
elif score >= 200:
print("Double Century")
else:
print(f"The score of the batsman is {score}")``````

Output

``Half century``

As you can see, we have multiple `elif` statements being used. Each statement covers a test scenario.

### Example 4 - Experimenting with Booleans

In an `if, elif, else` decision making in Python, except the first test under the `if` block, every other test is optional. Once one of the tests is evaluated as `True`, the following tests are ignored.

Code - 1

``````if True:
print("if block was executed.")
elif True:
print("1st elif block was executed")
elif True:
print("2nd elif block was executed")
else:
print("Finally, else block was executed.")``````

Output

``if block was executed.``

Let’s add variations to the above code.

Code - 2

``````if False:
print("if block was executed.")
elif True:
print("1st elif block was executed")
elif True:
print("2nd elif block was executed")
else:
print("Finally, else block was executed.")``````

Output

``1st elif block was executed``

Code - 3

``````if False:
print("if block was executed.")
elif False:
print("1st elif block was executed")
elif True:
print("2nd elif block was executed")
else:
print("Finally, else block was executed.")``````

Output

``2nd elif block was executed``

Code - 4

``````if False:
print("if block was executed.")
elif False:
print("1st elif block was executed")
elif False:
print("2nd elif block was executed")
else:
print("Finally, else block was executed.")``````

Output

``Finally, else block was executed.``

### Example 4 - Nested If statements

You can also nest `if, elif, else` statements inside of another `if, elif, else` block.

Let’s rewrite the Python program to check if a number is positive, negative or 0.

Code

``````num = -1

if num >= 0:
if num == 0:
print("The number is 0")
else:
print("It is positive")
else:
print("It is a negative number")``````

Output

``It is a negative number``

### Example 4 - Membership test of data types

Using the `if, elif, else` statements, you can check if a certain element exists in any data type.

Code

``````user_input = int(input("Enter a number ==> "))

my_list = [1, 2, 3]

if user_input in my_list:
print(f"{user_input} was found")
else:
print(f"Couldn't find {user_input}")``````

Output

``````Enter a number ==> 10
Couldn't find 10``````

You can use the `in` keyword to check for membership in any other data type.

Code

``````# Membership test for string

if "lenin" in "Pylenin":
print("It exists")
else:
print("Doesn't exist")

# Membership tests in tuples

my_tuple = (1, 2, 3, 4)

if 2 in my_tuple:
print("It exists")
else:
print("Doesn't exist")

# Membership tests in dictionary

my_dict = {"name":"Pylenin",
"YOB": 1992}

if 'YOB' in my_dict.keys():
print("It exists")
else:
print("Doesn't exist")``````

Output

``````It exists
It exists
It exists``````

Build your foundation in Python with our self-paced Python Bootcamp for Beginners.