Nested While Loops In Python With Examples
Loops are significant in python as without them we would have to repeat instructions all over again which could be time-consuming for a programmer. A while loop simply evaluates a given condition and if it is true then it executes a set of statements until that condition is true. But if the complexity of the problem increases, then it becomes necessary to insert a while loop inside another while loop. Therefore, in this tutorial, you will understand nested while loops in python.
Syntax of Python Nested While Loop
The basic syntax of nested while loop is as follows:
#outer while loop while condition: #inner while loop while condition: block of code block of code
Nested while loops contain two basic components:
- Outer While Loop
- Inner While Loop
The outer while loop can contain multiple inner while loops. Here the condition results in a boolean value and if it is true, only then the loop is executed. For every iteration of the outer while loop, the inner loop gets executed from the beginning and this process continues till the outer loop’s condition is true. Similarly, the inner while loop is executed only if its condition is true and the block of code gets executed.
Flowchart of nested while loops

Flowchart of nested while loops
Firstly, the outer loop condition is evaluated. If it is false, then the control jumps to the end of the outer while loop. If the condition is true, then the control jumps to the inner while loop condition. Next, the inner while loop condition is evaluated. If it is false then control jumps back to the outer while loop condition. If it is true, then the block of code inside the inner while loop is executed.
A simple example of the nested while loops
In this example, we create a pattern of numbers using a nested while loop
i=1 while i<=5: j=1 while j<=i: print(j,end=" ") j=j+1 print("") i=i+1
Output:
1 1 2 1 2 3 1 2 3 4 1 2 3 4 5
In the above code, the outer while loop keeps track of every new line inside the pattern, and the inner while loop displays the number according to the condition.
For example, if i=2
Outer loop:-
- Since 2<=5, the outer loop gets executed
Inner loop:-
- Initially j=1 and since 1<=2 inners for loop is executed
- Print j as 1 and increment j
- Again check the condition, 2<=2, and the inner loop is executed
- Print j as 2 and increment j
- Now since 3<=2 is False so we get out of the inner loop
A real-time example of the nested while loops
Problem statement
Consider an online quiz game where users have to write the synonyms of a given word and can have only three chances to attempt the question correctly.
synonyms=['pretty','alluring','lovely'] counter=3 while counter>0: answer=input("What is the synonym of 'Beautiful': ") status=True i=0 while i<len(synonyms): if(synonyms[i]==answer): print("Correct!!") counter=-1 break else: status=False i=i+1 if(status==False): print("Incorrect!!") counter=counter-1 print(f"You have {counter} chances")
Output:
What is the synonym of 'Beautiful': ugly Incorrect!! You have 2 chances What is the synonym of 'Beautiful': bad Incorrect!! You have 1 chances What is the synonym of 'Beautiful': pretty Correct!!
In the above code, we use a counter variable to store the number of attempts, and the outer while loop verifies that only three attempts are given to a user. We also have a list called synonyms that stores the valid answers to the question. The inner while loop iterates through the list and checks whether the user has provided the correct answer or not. If the answer provided is correct then it simply breaks from the inner loop and exits the program as the counter variable is equal to -1. If the answer is not correct, then the counter variable is decremented and the inner while loop is executed again till the counter variable becomes zero.
This is the end of the tutorial for nested while loops in python.
You can check out nested for loops in python: Nested for Loop in Python
Leave a Reply