Skip to content

Python Loops

Loops are one essential part of programming.

In Python we have 2 kinds of loops: while loops and for loops.

while loops

while loops are defined using the while keyword, and they repeat their block until the condition is evaluated as False:

condition = True
while condition == True:
    print("The condition is True")

This is an infinite loop. It never ends.

Let's halt the loop right after the first iteration:

condition = True
while condition == True:
    print("The condition is True")
    condition = False

print("After the loop")

In this case, the first iteration is ran, as the condition test is evaluated to True, and at the second iteration the condition test evaluates to False, so the control goes to the next instruction, after the loop.

It's common to have a counter to stop the iteration after some number of cycles:

count = 0
while count < 10:
    print("The condition is True")
    count = count + 1

print("After the loop")

for loops

Using for loops we can tell Python to execute a block for a pre-determined amount of times, up front, and without the need of a separate variable and conditional to check its value.

For example we can iterate the items in a list:

items = [1, 2, 3, 4]
for item in items:
    print(item)

Or, you can iterate a specific amount of times using the range() function:

for item in range(04):
    print(item)

range(4) creates a sequence that starts from 0 and contains 4 items: [0, 1, 2, 3].

To get the index, you should wrap the sequence into the enumerate() function:

items = [1, 2, 3, 4]
for index, item in enumerate(items):
    print(index, item)

Break and continue

Both while and for loops can be interrupted inside the block, using two special keywords: break and continue.

continue stops the current iteration and tells Python to execute the next one.

break stops the loop altogether, and goes on with the next instruction after the loop end.

The first example here prints 1, 3, 4. The second example prints 1:

items = [1, 2, 3, 4]
for item in items:
    if item == 2:
        continue
    print(item)
items = [1, 2, 3, 4]
for item in items:
    if item == 2:
        break
    print(item)
→ Download my free Python Handbook!

THE VALLEY OF CODE

THE WEB DEVELOPER's MANUAL

You might be interested in those things I do:

  • Learn to code in THE VALLEY OF CODE, your your web development manual
  • Find a ton of Web Development projects to learn modern tech stacks in practice in THE VALLEY OF CODE PRO
  • I wrote 16 books for beginner software developers, DOWNLOAD THEM NOW
  • Every year I organize a hands-on cohort course coding BOOTCAMP to teach you how to build a complex, modern Web Application in practice (next edition February-March-April-May 2024)
  • Learn how to start a solopreneur business on the Internet with SOLO LAB (next edition in 2024)
  • Find me on X

Related posts that talk about python: