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.
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.
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 .
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 x
What 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 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 2
What 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 .
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",x
It will have the following output :
x = 0 x = 1 x = 2 x is 2
i.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.