Python Nested loops

It is possible to write one loop inside another loop. For example, we can write a for loop inside a while loop or a for loop inside another for loop. Such loops are called 'nested loops'.

Nested loops

The following explains more on understanding about the nested loops and how to achieve it

CopiedCopy Code

for i in range(3): #i values are from 0 to 2 
   for j in range(4): #j values are from 0 to 3 
print('i=', i, '\t', 'j=',j) #display i and j values

The indentation represents that the inner for loop is inside the outer for loop. Similarly, print() function is inside the inner for loop.

When outer for loop is executed once, the inner for loop is executed for 4 times. It means, when i value is 0, j values will change from 0 to 3.

CopiedCopy Code

i= 0 		j= 0 
i= 0 		j= 1 
i= 0 		j= 2 
i= 0 		j= 3

Once the inner for loop execution is completed (j reached 3), then Python interpreter will go back to outer for loop to repeat the execution for second time. This time, i value will be 1. Again, the inner for loop is executed for 4 times. Hence the print() function will display the following output:

CopiedCopy Code

i= 1 	 	j= 0 
i= 1 	 	j= 1 
i= 1 	 	j= 2 
i= 1 	 	j= 3
i= 2 	 j= 0 
i= 2 	 j= 1 
i= 2 	 j= 2 
i= 2 	 j= 3

What would be the output of the following program

CopiedCopy Code

for i in range(1, 11): #to display 10 rows 
   for j in range(1, i+1): #no. of * = row number 
print('*', end='') 
print()

What would be the output of the following program

CopiedCopy Code

for i in range(1, 6): 
   for j in range(1, i+1): 
print(i, end='') 
print()
Syntax range
CopiedCopy Code

for i in range(start, stop, step):

range() in nested loops

CopiedCopy Code

for i in range(1, 10, 2):
	print(i, end=', ')
for num in range(-2,5,1):
	print(num, end=", ")
for i in range(0, -10, -2):
    print(i)
for num in range(2,-5,-1):
	print(num, end=", ")
for number in range(4,-1,-1):
	print (number, end=', ')  #4, 3, 2, 1, 0
for i in range(8,5,-1):
  print(i)
for i in range(3,2,-1):
  print(i)