LOOPS IN PYTHON


Now that we have learned about the conditions in python, it’s time to focus on loops in python where we will execute a block of code number of times. Python programming language provides repetition of a specific block of code multiple times


Loops in Python

Why Loop at all?

The main reason why we need looping in programs is to make complex problems simpler as sometimes we won’t be writing the whole program to go through each query if the functionality is same. For example, if we want to print the numbers from 1 to 10, we could use iterations inside a loop; in that way we can only write the code once and repeat the functionality as much as we want through looping.

The main advantages of using loops in python is that it saves your time, you don’t have to write the same code every time to perform the same functionality; also loops make your code look clean.





Types of Loop

  • While Loop

A while loop in python continues to execute the code as long as the given condition is true, if it becomes false, then the loop stops.

Another reason to use while loop is when we aren’t sure about how many times to iterate.

Looping in Python

Syntax of While Loop

while expression: 
    statements

In the above syntax, a while loop starts by checking the expression, if the expression is true, the loop continues to statements. After making an iteration, it goes back to expression and continues to execute through the statements until the expression becomes False.

Example:

Print n as long as n is less than 10:

n = 1 while n < 10: print(n) n += 1

In the above example, the variable n is already set to 1, and a while loop is set to a condition where n is less than 10, then on line 3 the print statement prints n where currently 1 is stored, on line 4 the n is incremented by 1 and becomes 2 and n now holds 2. The loop continues to execute and increment until n becomes 10; when n becomes 10 the expression becomes false, hence the loop stops.

Note: The while loop will run infinite times if ‘n’ doesn’t get an increment, hence it will make your program unstoppable and may cause errors.




While Loops with Else:

Python allows us to use else statement with the while loop, let’s suppose that if the while expression turns out to be False then we may use an ‘else’ statement to indicate the user that the program will no longer run further.
Example:

n = 1 while n < 10: print(n) n += 1 else: print("The program has ended since n is greater than 10")

Result

1
2
3
4
5
6
7
8
9
The program has ended since n is greater than 10

  • For Loops

For loop is a python loop which repeats a group of statements for a given number of times. It is always a good practice to use the for loop when we know the number of iterations.

For Loops in Python

Syntax of For Loop

for variable in sequence: 
    statement 1 
    statement 2 ...

Here is an example of a list containing fruits, let us use for loop to go through each known number of fruit:

fruits = ['apple','grapes', 'oranges', 'bananas'] for fruit in fruits: print(fruit)

When you will run the program, the result will be:

apple
grapes
oranges
bananas




Using the range() function in for Loop
We can use the range() function using for loops and in that range we can define the number of times we want to iterate; for example if we want to print natural numbers up to 10 then we have to define a range of 11, since the range() function starts at index 0.

#print natural numbers upto 10 for n in range(11): print(n)

Result:

0
1
2
3
4
5
6
7
8
9
10

You can use the for loop to print each letter of a string as well, for example:

#print python tricks each character for character in 'python tricks': print(character)

Output:

p
y
t
h
o
n
 
t
r
i
c
k
s

Using the if-else statements with For Loop:

Python language supports the usage of if-else statements with for loop. If-else statements comes handy if you want to execute the loop with an applied condition, as long as the condition is met the loop continues to execute; else the loop gets terminated.

#Checking which toppings are available using if-else with for loop icecream_toppings = ['chocolate', 'strawberry', 'blueberry', 'cotton candy', 'cherry'] available_toppings = ['chocolate','blueberry'] for toppings in icecream_toppings: if toppings in available_toppings: print("Available toppings are: " + toppings) else: print("Sorry we don't have " + toppings) print("finished making your icecream")

Explanation
At first we define a list of total icecream_toppings in this example. Next we made a list of available_toppings that are currently present. Now if we find anything that is not available currently like ‘strawberry’ , ‘cotton candy’ and ‘cherry’ then we loop through the list of available_toppings. Inside the loop we check to see if the available_toppings is present in the list of icecream_toppings, if it is then we add the available toppings on the ice cream. If the available_toppings is not in the list of icecream_toppings, the else block will run. The else block will tell which toppings are not currently in stock.

Output:

Available toppings are: chocolate
Sorry we don't have strawberry
Available toppings are: blueberry
Sorry we don't have cotton candy
Sorry we don't have cherry
finished making your icecream




  • Nested Loops

Python supports using the nested loop that is a loop within a loop. The following example is an explanation of how a nested loop works.

Syntax of Nested Loops:
A nested loop of for loop looks like this:

for variable in sequence: 
    for variable in sequence: 
        statement 1 
    statement 2

A nested loop for while loop looks like this:

while expression: 
    while expression: 
        statement 1 
    statement 2

Let’s look at an example of a nested loop containing for loops inside it:

#Printing tables of 1 to 10 using nested loops for i in range(1,11): for j in range(1,11): print(i*j) print("\n")