In general, statements are executed sequentially one block of code after another. We use loops to execute a block of code several number of times.
Python provides the following types of loops to handle looping requirements:
- For loop
- While loop
- Nested loops
In python, while loop is used to execute a block of statements repeatedly until a given a condition is satisfied. And when the condition becomes false, the line immediately after the loop in program is executed.
python">while expression: statement(s)
python"># Program to illustrate while loop count = 0 while ( count < 9): print "The count is: ", count count = count + 1 print "Goodbye!"
The count is: 0 The count is: 1 The count is: 2 The count is: 3 The count is: 4 The count is: 5 The count is: 6 The count is: 7 The count is: 8 Good bye!
The block here, consisting of the print and increment statements, is executed repeatedly until count is no longer less than 9. With each iteration, the current value of the index count is displayed and then increased by 1.
The for statement in Python has the ability to iterate over the items of any sequence, such as a list or a string.
for iterating_var in sequence: statements(s)
The range() function
The built-in function range() is the right function to iterate over a sequence of numbers. It generates an iterator of arithmetic progressions.
Example to illustrate for loop using range():
for var in range(0,10): print var
0 1 2 3 4 5 6 7 8 9
Here, the print statement will be executed from 0 to 9
Another example to loop through a list
fruits = [“apple”, “banana”, “mango”] for fruit in fruits: print "Current fruit is: ", fruit print “Goodbye!”
The current fruit is: apple The current fruit is: banana The current fruit is: mango Goodbye!
In Python, you can place one loop inside another loop.
Syntax for loop
for iterating_var in sequence: for iterating_var in sequence: statements(s) statements(s)
Syntax while loop
while expression: while expression: statement(s) statement(s)
Example to illustrate nested for loops in Python
# Python program to illustrate nested for loops in Python import sys for i in range(1, 5): for j in range(i): print(i, end=' ') print()
1 2 2 3 3 3 4 4 4 4
The print() function inner loop has end=’ ‘ which appends a space instead of default newline. Hence, the numbers will appear in one row.Last print() will be executed at the end of inner for loop.
Note: You can put any type of loop inside another loop. For example, a while loop can be inside a for loop and vice versa.
Loop Control Statements
Loop control statements change execution from its normal sequence. When execution leaves a scope, all automatic objects that were created in that scope are destroyed. Python supports the following control statements.
Terminates the loop statement and transfers execution to the statement immediately following the loop. Used for premature termination of a loop.
for letter in ‘Python’: if letter == ‘h’ break print “Current letter is: “, letter
Current letter is: P Current letter is: y Current letter is: t
In the example, the code will execute until it encounters letter ‘h’ then terminates and leaves the loop.
It causes the loop to skip the remainder of its body and immediately retest its condition prior to reiterating i.e It returns the control to the beginning of the loop.
Example: To print even numbers only:
for num in range(0, 10): if num%2 == 0: print “Found an even number: “, num continue
Found an even number: 0 Found an even number: 2 Found an even number: 4 Found an even number: 6 Found an even number: 8
Here, the program loops from 0 to 9 and prints even numbers only, skipping any odd number
The pass statement does nothing. It can be used when a statement is required syntactically but the program requires no action. For example:
while True: pass