Python while and for loop :
Loops are used in programming language to run a piece of code again and again. In this tutorial, we will check two types of looping in python : “while” loop and “for” loop.
Python while loop :
Take the following syntax for example :
while condition :
        code-block()i.e. if the “condition” is true , it will run the “code-block()” part . Next the condition will be checked again , it it is true , code-block() will run again. If the condition is true always, it will form a infinite loop.
i = 100
while i > 90 :
    print "i = ",i
    i = i - 1
print "while loop completed..."Run this code. It will give the following output :
i =  100
i =  99
i =  98
i =  97
i =  96
i =  95
i =  94
i =  93
i =  92
i =  91
while loop completed…Each time we are decreasing the value of i which is 100 at first. While loop is checking if i is greater that 90 or not. If i is equal or less than 90, it exists. Note that last “print” line is printed only once.
If we comment out the “i= i-1” line, it will be converted to an infinite loop. Use “Ctrl + C” to stop an infinite loop in terminal.
while-else loop :
We can add an else block with “while” loop. It will work as “if-else”. i.e. if the condition is true, it will run the while block . If it is false , it will run “else” block.
Let’s try it with a little example :
i = 5
 
while i > 3 :
    print "i = ",i
    i = i - 1
else :
    print "i is less than 3"
print "while loop completed..."It will print :
i =  5
i =  4
i is less than 3
while loop completed…Let’s check how “for” loop works .
Python “for” loop :
for loop is mainly used to execute a block of code for a fixed number of times. The following example will print all numbers from 0 to 10 :
for x in range(0,11):
    print xWhat is this range() ? range can be defined as range( start , end , step-size ). step-size is by default 1. If we change the above program as range (0 , 11 , 2) , it will print as 0 , 2, 4 , 6 , 8, 10 . If you use range(3), then it will be from 0 to 3 i.e. 0,1 and 2.
Nested for loops :
Nested loops means one loop inside another. Let’s check :
for x in range(0,3):
    print "inside loop 1"
    for x in range(0,2):
        print "inside loop 2"It will give the following output :
inside loop 1
inside loop 2
inside loop 2
inside loop 1
inside loop 2
inside loop 2
inside loop 1
inside loop 2
inside loop 2What is happening here ? First top loop will start. it will move inside and start the inner loop since inner loop is inside first loop. So , it will continue and complete the loop 2. Same thing continues till the first loop ends .
For with else for..else :
Similar to while, we can use else for “for” group. For the following example , what will be the output ?
for x in range(3):
    print "x = ",x
else :
    print "x is",xIt will have the following output :
x =  0
x =  1
x =  2
x is 2i.e. ‘else’ block will execute after the last ‘for’ loop line . In ‘while” block we have seen above, ‘else’ block runs only if ‘while’ loop fails the condition.

