Skip to main content

Loops

Loops allow you to repeat a block of code multiple times.

They are useful when you want to perform the same action several times without writing the same code over and over again.

The for loop

In Python, a for loop is commonly used to iterate over a sequence of values.

for i in range(5):
print(i)

This will output:

0
1
2
3
4

Explanation

  • range(5) generates a sequence of numbers from 0 to 4
  • i is the loop variable (it takes each value from the sequence)
  • the indented block runs once for each value

Using range

The range() function can be used in different ways:

range(5)        # 0, 1, 2, 3, 4
range(1, 5) # 1, 2, 3, 4
range(0, 10, 2) # 0, 2, 4, 6, 8

The while loop

A while loop runs as long as a condition is true.

count = 0

while count < 5:
print(count)
count = count + 1

Explanation

  • the loop checks the condition count < 5
  • if it is True, the code runs
  • after each iteration, the condition is checked again

Infinite loops

Be careful: if the condition never becomes false, the loop will run forever.

while True:
print("This runs forever")

You usually want to avoid this unless you explicitly need it.

Example

for i in range(1, 6):
print(i * 2)

Run this code, modify it and play it with it, in order to understand better how for loops in python behave.

Exercise

Let's practice a bit, shall we? Solve the following tasks:

  1. Write a program that prints numbers from 1 to 10
  2. Write a program that prints only even numbers from 1 to 20
  3. Write a program that counts down from 5 to 1 using a while loop

Notes

info
  • Use for loops when you know how many times you want to repeat something
  • Use while loops when the number of iterations depends on a condition
  • Always make sure your while loop will eventually stop