# Nested Loop in Python

In the previous article we explored the use of the continue function, now we will delve further into Loops and explore the Nesting of Loops. Suppose we are printing the tables of numbers in the following manner:

1: 1 2 3 4 5 6 7 8 9 10

2: 2 4 6 8 10 12 14 16 18 20

3: 3 6 9 12 15 18 21 24 27 30

……………………………………………

10: 10 20 30 40 50 60 70 80 90 100

### Working with Nested Loop in Python

```for i in range(1, 1*10+1,1):
print(i, end= " ")
print( )
for in in range(2, 2*10+1,2):
print(i,end= " ")
print( )
for i in range(3, 3*10+1,3):
print(i, end=" ")
print( )
```
``````Output:
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30 ``````

Let us try to replicate the above logic for a wider range of numbers along with nesting.

```for i in range(1,11):
for j in range(i, i*10+1,i)
print(j, end = " ")
print( )
```
``````Output:
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100 ``````

Here the for loop statement containing the j variable is nested below and within the above i variable for loop structure. Generally in programs up to three different levels of nesting are observed.

```for i in range(1,3):
j=1
while j<3:
print(i,j)
j=j+1
print("G+G")
```
``````Output:
1 1
1 2
G+G
2 1
2 2
G+G``````

Hence, we have explored the implementation of Nested Loop in Python. In the next article we will explore Square Patterns implementation program in Python.