PYTHON - Nested If
Python - Nested if Statement
Python supportsnested if statementswhich means we can use a conditionalifandif…else statementinside an existingif statement.
There may be a situation when you want to check for additional conditions after the initial one resolves to true. In such a situation, you can use the nestedifconstruct.
Additionally, within a nestedifconstruct, you can include anif…elif…elseconstruct inside anotherif…elif…elseconstruct.
Syntax of Nested if Statement
The syntax of the nestedif constructwith else condition will be like this −
if boolean_expression1:
statement(s)
if boolean_expression2:
statement(s)Flowchart of Nested if Statement
Following is the flowchart of Python nested if statement −
Example of Nested if Statement
The below example shows the working of nested if statements −
num = 36
print ("num = ", num)
if num % 2 == 0:
if num % 3 == 0:
print ("Divisible by 3 and 2")
print("....execution ends....")When you run the above code, it will display the following result −
num = 36
Divisible by 3 and 2
....execution ends....Nested if Statement with else Condition
As mentioned earlier, we can nestif-elsestatement within anif statement. If theif conditionis true, the firstif-else statementwill be executed otherwise, statements inside theelse blockwill be executed.
Syntax
The syntax of thenested if constructwith else condition will be like this −
if expression1:
statement(s)
if expression2:
statement(s)
else
statement(s)
else:
if expression3:
statement(s)
else:
statement(s)Example
Now let’s take a Python code to understand how it works −
num=8
print ("num = ",num)
if num%2==0:
if num%3==0:
print ("Divisible by 3 and 2")
else:
print ("divisible by 2 not divisible by 3")
else:
if num%3==0:
print ("divisible by 3 not divisible by 2")
else:
print ("not Divisible by 2 not divisible by 3")When the above code is executed, it produces the followingoutput−
num = 8
divisible by 2 not divisible by 3
num = 15
divisible by 3 not divisible by 2
num = 12
Divisible by 3 and 2
num = 5
not Divisible by 2 not divisible by 3