Altcademy - a Forbes magazine logo Best Coding Bootcamp 2023

How to loop in Python

Understanding the Concept of Looping

In the world of programming, looping is a concept where you perform a certain set of actions repeatedly until a certain condition is met. Imagine you're a school teacher, and you need to distribute the final exam papers to each student in your class. Instead of calling one student at a time, you would walk to each desk and hand out the papers until there are no students left. This is what looping in Python is like; it automates repetitive tasks.

Getting Started With Python Loops

Python offers two types of loops: for loops and while loops. Let’s dive into each one.

FOR Loops in Python

The for loop in Python is used to iterate over a sequence such as a list, tuple, dictionary, string, or a range of numbers.

Here's a basic example where we print each fruit in a list:

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

In this code, fruit is a temporary variable that represents each item in the list (fruits). For each loop (or iteration), it takes the next value in the list until there are no more items left.

WHILE Loops in Python

The while loop in Python is used to perform a set of statements as long as a certain condition remains true.

Here's a simple example:

i = 1
while i < 6:
    print(i)
    i += 1

In this example, as long as i is less than 6, the loop will continue to print i and increment it by 1 for each loop. The loop will stop when i is no longer less than 6.

Loop Control Statements

Sometimes, you might want more control over your loops. Python offers several control statements:

  • break: Stops the loop before it has looped through all the items
  • continue: Skips the current iteration and proceeds to the next
  • pass: Does nothing, it’s used when a statement is required syntactically but you do not want any command or code to execute.

Using BREAK in Python Loops

Imagine you're playing hide-and-seek and you're the seeker. You keep looking until you find someone, and then you stop. The break statement works similarly.

Here's an example:

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)
    if fruit == "banana":
        break

In this example, once the loop encounters "banana", it breaks, and the loop doesn't continue to "cherry".

Using CONTINUE in Python Loops

Using continue in a Python loop is like saying, "I don't want to deal with this item, let's move to the next".

Here's how you might use it:

for num in range(10):
    if num == 5:
        continue 
    print(num)

In this example, when the number is 5, the loop doesn't print it out and instead continues with the next number.

Using PASS in Python Loops

The pass statement is a placeholder and is used when the syntax requires a statement but you don’t want to execute any code. It’s like saying, “I’m required to do something here, but I’ll just pass.”

Here's an example:

for num in range(10):
    if num == 5:
        pass 
    print(num)

In this example, even when the number is 5, the loop doesn't do anything special and just prints it out like the rest.

Looping Through a String

Yes, you can loop through a string in Python. Each character in the string is treated as an item and you can perform operations on it. It's like reading a book and going through each letter one by one.

Here's an example:

for char in "Hello":
    print(char)

This loop will print each character in the string "Hello" on a new line.

Nested Loops

A nested loop is a loop within a loop. Think of it as a clock. The second hand makes a complete revolution (inner loop) for each minute the minute hand moves (outer loop).

Here's an example:

for x in range(3):  # outer loop
    for y in range(2):  # inner loop
        print(f"Outer:{x} Inner:{y}")

It’s important to note that for each iteration of the outer loop, the inner loop runs completely.

Conclusion

Just as a school teacher distributes papers to each student, or as a seeker in a game of hide-and-seek stops seeking after finding the first hider, loops in Python allow for efficient, readable, and versatile code. Whether you’re iterating through sequences with for loops, continually checking conditions with while loops, or controlling your loops with break, continue, and pass, Python’s loop structures offer powerful tools for solving a wide range of programming problems. So go ahead, let your code run in loops and make your programming journey a little bit easier.