Session 07
Python Flow Control
For Loops
Python @ Sinet
SINET EDUCATION
SINET EDUCATION WWW.SINET.IN
Python For Loops
A for loop is used for iterating over a sequence (that is either a list, a
tuple, a dictionary, a set, or a string).
This is less like the for keyword in other programming languages, and
works more like an iterator method as found in other object-orientated
programming languages.
With the for loop we can execute a set of statements, once for each
item in a list, tuple, set etc.
SINET EDUCATION WWW.SINET.IN
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
apple
banana
cherry
Note: The for loop does not require an indexing variable to set beforehand.
SINET EDUCATION WWW.SINET.IN
Looping Through a String
Even strings are iterable objects, they contain a sequence of characters.
Loop through the letters in the word "banana":
for i in "banana":
print(i)
b
a
n
a
n
a
SINET EDUCATION WWW.SINET.IN
The break Statement
With the break statement we can stop the loop before it has looped
through all the items:
Example
Exit the loop when x is "banana":
SINET EDUCATION WWW.SINET.IN
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
if x=="banana":
break
apple
banana
SINET EDUCATION WWW.SINET.IN
Example
Exit the loop when x is "banana", but this time the break comes before the
print:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
if x == "banana":
break
print(x)
apple
SINET EDUCATION WWW.SINET.IN
The continue Statement
With the continue statement we can stop the current iteration of the
loop, and continue with the next:
SINET EDUCATION WWW.SINET.IN
Example
Do not print banana:
=============================
fruits = ["apple", "banana", "cherry"]
for x in fruits:
if x == "banana":
continue # skip next statements & continue loop
print(x)
==============================
apple
cherry
SINET EDUCATION WWW.SINET.IN
The range() Function
To loop through a set of code a specified number of times, we can use
the range() function,
The range() function returns a sequence of numbers, starting from 0 by
default, and increments by 1 (by default), and ends at a specified
number.
Eg. range(6)
SINET EDUCATION WWW.SINET.IN
for x in range(6):
print(x)
0
1
2
3
4
5
Note: range(6) is not the values of 0 to 6, but the values 0 to 5. ie up to 6
SINET EDUCATION WWW.SINET.IN
Using the start parameter:
for x in range(2, 6):
print(x)
2
3
4
5
SINET EDUCATION WWW.SINET.IN
The range() function defaults to increment the sequence by 1, however it is
possible to specify the increment value by adding a third parameter: range(2,
30, 3):
for x in range(2, 10, 3):
print(x)
2
5
8
SINET EDUCATION WWW.SINET.IN
Else in For Loop
The else keyword in a for loop specifies a block of code to be executed
when the loop is finished:
for x in range(3):
print(x)
else:
print("Finally finished!")
0
1
2
Finally finished!
SINET EDUCATION WWW.SINET.IN
Note: The else block will NOT be executed if the loop is
stopped by a break statement.
Break the loop when x is 3, and see what happens with
the else block:
for x in range(6):
if x == 3:break
print(x)
else:
print("Finally finished!")
0
1
2
#If the loop breaks, the else block is not executed.
SINET EDUCATION WWW.SINET.IN
Nested Loops
A nested loop is a loop inside a loop.
The "inner loop" will be executed one time for each iteration of the
"outer loop":
Example
Print each adjective for every fruit:
SINET EDUCATION WWW.SINET.IN
adj = ["red", "big", "tasty"]
fruits = ["apple", "banana", "cherry"]
for x in adj:
for y in fruits:
print(x, y) # inner loop finishes first with outer loop value
red apple
red banana
red cherry
big apple
big banana
big cherry
tasty apple
tasty banana
tasty cherry
SINET EDUCATION WWW.SINET.IN
The pass Statement
for loops cannot be empty, but if you for some reason have a for loop
with no content, put in the pass statement to avoid getting an error.
for x in [0, 1, 2]:
pass
# having an empty for loop like this, would raise an error without the
pass statement
SINET EDUCATION WWW.SINET.IN
The END
SINET EDUCATION WWW.SINET.IN
1) Write a program to find the factorial of a given no
2) Write a program to print natural numbers up to ‘n’
3) Write a program to print 2,4,8,16,32,…
4) Write a program to check the given no is Armstrong or not
5) Write a program to find the factors of a given no
SINET EDUCATION WWW.SINET.IN