Conditional flow in Python with if, elif, and else.
A program executes in python line by line in a sequence. What if we want to execute a block of code when a condition is satisfied? In conditional execution, a block of code will execute only if a condition is met. If not met another block(optional).
If, Elif and else are the statements for conditional flow in Python. Each conditional statement has an expression next to it. If the expression returns success, start execution just after the condition statement.

if expression evaluatioin :
#Code Under If condition if Expression
#Returns True
#Code That will always execute (OutSide of If block);
Example Conditional expression | Meaning |
---|---|
X == Y | True if X is equal to Y. |
X > Y | True if the X is Greater than Y; |
X != Y | True if X is not equal to Y. |
X < Y | True if X is less than Y. |
X <= Y | True if X is less than or equal toY. |
X > Y | True if X is more than Y. |
X >= Y | True if X is more than or equal to Y. |
How an if (elif or else) statement works?
- The expression next to the statement is evaluated.
- If it’s true (non zero), the block under if is executed else False (zero), then control reached to the end of bock.
- The block is decided by the indentation. The first line starts with indentation and ends with no indentation.
if expression evaluation :
#First Statement
#Second Statement
#.....
#Nth Statement
#Statement Not In Block Body
if expression evaluation : #outer if
if expression evaluation: #inner if
#First Statement (inner if)
#Second Statement(inner if)
#.....
#Nth Statement(inner if)
#Statements with in Fist if ((outer if)
#Statements Not in If condition
# Example Program for If statement
X = 10;
Y = 12;
if X < Y:
print("X Is smaller than Y");
print(" If Condition Checked (Always Printed)");
if isinstance(X, int):
print("The type of X is int");
print(" Type of X Checked (Always Printed)");
Output- X Is smaller than Y If Condition Checked (Always Printed) The type of X is int Type of X Checked (Always Printed)
- Initialized variable X to 10 and Y to 12.
- Check if X is smaller than Y. The expression return True.
- The body of
if
have only one statement [print(“X Is smaller than Y”)]. - Statement outside of the
if
body is executed. - Again Checked if X is or type
int
. Returns true. - Next Statements are executed.
More flow control with if..else – Two-way decision
There could be an else with if. So that if an expression is True, the body of if block executes if not body of else executes. It is used to make a binary decision. Following is the syntax of If..else.
if expression evaluation:
# First statement --
# Second statement --
# .....
# Nth statement --
else:
# First statement --
# Second statement --
# .....
# Nth statement --
#Statement always executes
- If the expression is true the if block executes otherwise the else block executes.
- Indentation decides the statements for if and else.
#example program to check if an user
#entered number is
#positive or negative
print("Enter a Number");
num = int(input());
if num > 0:
print("Number is positive");
else:
print("Number is negative");
Output -> Enter a Number 3 Number is positive
Output-> Enter a Number -5 Number is negative
Multi-way decision with if..elif…else:
With the if..elif..else
you can choose a single flow from possible multiple flows. Unlike if..else, there could be multiple elif
, when performing decisions.
if conditional expression:
# First statement --
# Second statement --
# .....
# Nth statement --
elif conditional expression:
# First statement --
# Second statement --
# .....
# Nth statement --
elif conditional expression:
# First statement --
# Second statement --
# .....
# Nth statement --
else:
# First statement --
# Second statement --
# .....
# Nth statement --
#example program to check if an user
#entered number is
#zero , negative, more than 100 or more than 200
print("Enter a Number");
num = int(input());
if num == 0:
print("Number is zero");
elif num > 100 and num < 200:
print("Number is more than 100");
elif num > 200:
print("Number is more than 200");
else:
print("Number is negative");
Output-> Enter a Number 103 Number is more than 100
Output-> Enter a Number 202 Number is more than 200