Nested if statements

You can place an if (or if…else, if…elif) statement inside another statement. This process is called nesting and enables you to make complex decisions based on different inputs. Here is a sample syntax:

if condition:
	if condition:
		statements
	else:
		statements
else:
statements

Note how the lines above are indented. The indentation is important because it informs Python that the indented statement is the second-level statement.

Consider the following example:

x = int(input('Enter your age: '))

if x > 21:
    if x > 100:
        print('You are too old, go away!')
    else:
        print('Welcome, you are of the right age!')
else:
    print('You are too young, go away!')

The program above prompts the user to enter his age. The program will first determine if the user is older than 21. If that is the case, the program will additionally check if the user is older than 100. If that is also the case, the program will print the corresponding message, indicating that the user is too old. If the user entered a number between 21 and 100, the Welcome, you are of the right age! message will be printed. If the user has entered a number less than 21, he will be informed that he is too young. Note that the nested if…else statement will not be executed at all if the user has entered a value less than 21.

The output of the example above:

Enter your age: 55
Welcome, you are of the right age!
>>> 
Enter your age: 13
You are too young, go away!
>>> 
Enter your age: 101
You are too old, go away!
>>>
You can also nest a statement inside a nested statement. Just make sure to indent your code properly.
Geek University 2022