Life is full of routines. In programming, we also do lots of repetitive tasks. To handle repetitive tasks, programming languages use loops. The Python programming language also provides the following types of loops:
We use the reserved word while to make a while loop. It is used to execute a block of statements repeatedly until a given condition is satisfied. When the condition becomes false, the lines of code after the loop will continue to be executed.
# syntax
while condition:
code goes here
Example:
count = 0
while count < 5:
print(count)
count = count + 1
#prints from 0 to 4
In the above while loop, the condition becomes false when the count is 5. That is when the loop stops. If we are interested in running a block of code once the condition is no longer true, we can use else.
# syntax
while condition:
code goes here
else:
code goes here
Example:
count = 0
while count < 5:
print(count)
count = count + 1
else:
print(count)
The above loop condition will be false when the count is 5 the loop stops and execution starts the else statement. As a result, 5 will be printed.
# syntax
while condition:
code goes here
if another_condition:
break
Example:
count = 0
while count < 5:
print(count)
count = count + 1
if count == 3:
break
The above while loop only prints 0, 1, 2, but when it reaches 3 it stops.
# syntax
while condition:
code goes here
if another_condition:
continue
Example:
count = 0
while count < 5:
if count == 3:
continue
print(count)
count = count + 1
The above while loop only prints 0, 1, 2, and 4 (skips 3).
A for keyword is used to make a for loop, similar to other programming languages, but with some syntax differences. A loop is used for iterating over a sequence (that is either a list, a tuple, a dictionary, a set, or a string).
# syntax
for iterator in lst:
code goes here
Example:
numbers = [0, 1, 2, 3, 4, 5]
for number in numbers: # number is temporary name to refer to the list's items, valid only inside this loop
print(number) # the numbers will be printed line by line, from 0 to 5
# syntax
for iterator in string:
code goes here
Example:
language = 'Python'
for letter in language:
print(letter)
for i in range(len(language)):
print(language[i])
# syntax
for iterator in tpl:
code goes here
Example:
numbers = (0, 1, 2, 3, 4, 5)
for number in numbers:
print(number)
# syntax
for iterator in dct:
code goes here
Example:
person = {
'first_name':'Asabeneh',
'last_name':'Yetayeh',
'age':250,
'country':'Finland',
'is_marred':True,
'skills':['JavaScript', 'React', 'Node', 'MongoDB', 'Python'],
'address':{
'street':'Space street',
'zipcode':'02210'
}
}
for key in person:
print(key)
for key, value in person.items():
print(key, value) # this way we get both keys and values printed out
# syntax
for iterator in st:
code goes here
Example:
it_companies = {'Facebook', 'Google', 'Microsoft', 'Apple', 'IBM', 'Oracle', 'Amazon'}
for company in it_companies:
print(company)
Short reminder: Break: We use a break when we like to stop our loop before it is completed.
# syntax
for iterator in sequence:
code goes here
if condition:
break
Example:
numbers = (0,1,2,3,4,5)
for number in numbers:
print(number)
if number == 3:
break
In the above example, the loop stops when it reaches 3.
Continue: We use continue when we like to skip some of the steps in the iteration of the loop.
# syntax
for iterator in sequence:
code goes here
if condition:
continue
Example:
numbers = (0,1,2,3,4,5)
for number in numbers:
print(number)
if number == 3:
continue
print('Next number should be ', number + 1) if number != 5 else print("loop's end") # for short hand conditions need both if and else statements
print('outside the loop')
In the example above, if the number equals 3, the step after the condition (but inside the loop) is skipped and the execution of the loop continues if there are any iterations left.
The range() function is used list of numbers. The range(start, end, step) takes three parameters: starting, ending, and increment. By default, it starts from 0 and the increment is 1. The range sequence needs at least 1 argument (end). Creating sequences using a range
lst = list(range(11))
print(lst) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
st = set(range(1, 11)) # 2 arguments indicate start and end of the sequence, step set to default 1
print(st) # {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
lst = list(range(0,11,2))
print(lst) # [0, 2, 4, 6, 8, 10]
st = set(range(0,11,2))
print(st) # {0, 2, 4, 6, 8, 10}
# syntax
for iterator in range(start, end, step):
Example:
for number in range(11):
print(number) # prints 0 to 10, not including 11
We can write loops inside a loop.
# syntax
for x in y:
for t in x:
print(t)
Example:
person = {
'first_name': 'Asabeneh',
'last_name': 'Yetayeh',
'age': 250,
'country': 'Finland',
'is_marred': True,
'skills': ['JavaScript', 'React', 'Node', 'MongoDB', 'Python'],
'address': {
'street': 'Space street',
'zipcode': '02210'
}
}
for key in person:
if key == 'skills':
for skill in person['skills']:
print(skill)
If we want to execute some message when the loop ends, we use else.
# syntax
for iterator in range(start, end, step):
do something
else:
print('The loop ended')
Example:
for number in range(11):
print(number) # prints 0 to 10, not including 11
else:
print('The loop stops at', number)
In Python when the statement is required (after the semicolon), but we don’t like to execute any code there, we can write the word pass to avoid errors. Also, we can use it as a placeholder, for future statements.
Example:
for number in range(6):
pass
Now do some exercises for your brain and muscles.
Iterate 0 to 10 using a for loop, and do the same using a while loop.
Iterate 10 to 0 using a for loop, and do the same using a while loop.
Write a loop that makes seven calls to print(), so we get on the output the following triangle:
#
##
###
####
#####
######
#######
Use nested loops to create the following:
# # # # # # # #
# # # # # # # #
# # # # # # # #
# # # # # # # #
# # # # # # # #
# # # # # # # #
# # # # # # # #
# # # # # # # #
Print the following pattern:
0 x 0 = 0
1 x 1 = 1
2 x 2 = 4
3 x 3 = 9
4 x 4 = 16
5 x 5 = 25
6 x 6 = 36
7 x 7 = 49
8 x 8 = 64
9 x 9 = 81
10 x 10 = 100
Iterate through the list, [‘Python’, ‘Numpy’,’Pandas’,’Django’, ‘Flask’] using a for loop and print out the items.
Use for loop to iterate from 0 to 100 and print only even numbers
Use for loop to iterate from 0 to 100 and print only odd numbers
The sum of all numbers is 5050.
Use for loop to iterate from 0 to 100 and print the sum of all even and the sum of all odds.
The sum of all evens is 2550. And the sum of all odds is 2500.
Day 30 Conclusions In the process of preparing this material, I have learned quite a…
Day 29: Building API In this section, we will cover a RESTful API that uses HTTP…
Day 28: Application Programming Interface (API) API API stands for Application Programming Interface. The kind…
Day 27: Python with MongoDB Python is a backend technology, and it can be connected…
Day 26: Python for Web Python is a general-purpose programming language, and it can be…
Day 25: Pandas Pandas is an open-source, high-performance, easy-to-use data structure, and data analysis tool…
View Comments