You are currently viewing Python Loops: for & while

Python Loops: for & while

Loops are an important part of programming, allowing you to repeat a block of code multiple times. In Python, there are two types of loops: for loops and while loops. Let’s take a closer look at how each of these loops works and provide some examples and use cases.

  1. For loops

A for loop allows you to iterate over a sequence of values, such as a list or a range of numbers. Here’s an example:

# Print each item in a list using a for loop
fruits = ["apple", "banana", "cherry"]

for fruit in fruits:
    print(fruit)

In this example, the program creates a list of fruits and uses a for loop to iterate over each item in the list. The loop assigns each item to the variable fruit, which is then printed to the console.

Another common use case for a for loop is to repeat a block of code a certain number of times. You can do this using the range function to create a sequence of numbers to iterate over. Here’s an example:

# Print the numbers from 1 to 5 using a for loop
for i in range(1, 6):
    print(i)

In this example, the program uses the range function to create a sequence of numbers from 1 to 5, which are then iterated over using a for loop. The loop assigns each number to the variable i, which is then printed to the console.

  1. While loops

A while loop allows you to repeat a block of code as long as a certain condition is true. Here’s an example:

# Print the numbers from 1 to 5 using a while loop
i = 1

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

In this example, the program initializes a variable i to 1 and uses a while loop to repeat a block of code as long as i is less than or equal to 5. The loop prints the value of i to the console and then increments i by 1.

Another common use case for a while loop is to read input from the user until a certain condition is met. Here’s an example:

# Read input from the user until they enter 'quit'
while True:
    user_input = input("Enter a word (or 'quit' to exit): ")
    
    if user_input == "quit":
        break
    
    print(f"You entered: {user_input}")

In this example, the program uses a while loop to repeatedly ask the user to enter a word. The loop continues until the user enters the word “quit”. If the user enters any other word, the program prints a message indicating the word that was entered.

These are just a few examples of how you can use loops in Python to create powerful and flexible programs. As you continue to learn Python, you’ll discover many more ways to use loops to solve a wide variety of programming problems.

  1. Nested loops

You can use nested loops in Python to iterate over multiple sequences at once. Here’s an example:

# Print all possible combinations of two dice rolls
for i in range(1, 7):
    for j in range(1, 7):
        print(f"({i}, {j})")

In this example, the program uses two nested for loops to iterate over every possible combination of two dice rolls. The outer loop iterates over the values 1 through 6 for the first die, and the inner loop iterates over the same values for the second die. The program then prints each combination to the console.

  1. Loop control statements

Python provides several loop control statements that allow you to modify the behavior of a loop. The break statement allows you to exit a loop early, while the continue statement allows you to skip over certain iterations of a loop. Here’s an example:

# Print the numbers from 1 to 10, but skip over 5 and exit the loop if we reach 8
for i in range(1, 11):
    if i == 5:
        continue
        
    print(i)
    
    if i == 8:
        break

In this example, the program uses a for loop to print the numbers from 1 to 10, but skips over the number 5 using a continue statement. The loop also checks for the number 8 and exits early using a break statement.

  1. List comprehension

List comprehension is a powerful feature in Python that allows you to create lists in a concise and readable way. Here’s an example:

# Create a list of even numbers using list comprehension
evens = [i for i in range(1, 11) if i % 2 == 0]
print(evens)

In this example, the program uses list comprehension to create a list of even numbers from 1 to 10. The expression inside the brackets generates the values to be added to the list (in this case, the variable i), while the if statement filters out any values that don’t meet the specified condition (in this case, that i is even). The resulting list is then printed to the console.

I hope these additional examples help you understand how loops can be used in Python. Let me know if you have any other questions!

  1. Looping over dictionaries

In Python, you can use a for loop to iterate over the keys, values, or items of a dictionary. Here’s an example:

# Iterate over the keys of a dictionary
my_dict = {"apple": 1, "banana": 2, "orange": 3}

for key in my_dict:
    print(key)

In this example, the program uses a for loop to iterate over the keys of a dictionary and print each key to the console.

# Iterate over the values of a dictionary
my_dict = {"apple": 1, "banana": 2, "orange": 3}

for value in my_dict.values():
    print(value)

In this example, the program uses a for loop to iterate over the values of a dictionary and print each value to the console.

# Iterate over the items of a dictionary
my_dict = {"apple": 1, "banana": 2, "orange": 3}

for key, value in my_dict.items():
    print(key, value)

In this example, the program uses a for loop to iterate over the key-value pairs of a dictionary and print each pair to the console.

  1. Looping with the enumerate() function

The enumerate() function in Python allows you to iterate over a sequence and access both the index and value of each item. Here’s an example:

# Loop over a list and print the index and value of each item
my_list = ["apple", "banana", "orange"]

for i, item in enumerate(my_list):
    print(i, item)

In this example, the program uses the enumerate() function to iterate over a list and print the index and value of each item to the console.

  1. Looping with the zip() function

The zip() function in Python allows you to iterate over multiple sequences in parallel. Here’s an example:

# Loop over two lists and print the corresponding items from each list
fruits = ["apple", "banana", "orange"]
prices = [1.0, 2.0, 1.5]

for fruit, price in zip(fruits, prices):
    print(fruit, price)

In this example, the program uses the zip() function to iterate over two lists in parallel and print the corresponding items from each list to the console.

I hope these examples give you a better idea of the flexibility and power of loops in Python. Let me know if you have any other questions!

  1. Looping with the range() function

The range() function in Python generates a sequence of numbers, which can be used in a for loop to control the number of iterations. Here’s an example:

# Loop 5 times and print the loop index
for i in range(5):
    print(i)

In this example, the program uses the range() function to generate a sequence of numbers from 0 to 4, which are then used as loop indices to print the loop index to the console.

  1. Nested loops

You can also use nested loops in Python to iterate over multiple sequences or perform complex operations. Here’s an example:

# Loop over two lists and print the corresponding items from each list
fruits = ["apple", "banana", "orange"]
prices = [1.0, 2.0, 1.5]

for fruit in fruits:
    for price in prices:
        print(fruit, price)

In this example, the program uses nested for loops to iterate over two lists in parallel and print every combination of fruit and price to the console.

  1. Looping with the while keyword

In addition to for loops, Python also supports while loops, which allow you to iterate until a certain condition is met. Here’s an example:

# Loop until a condition is met
i = 0
while i < 5:
    print(i)
    i += 1

In this example, the program uses a while loop to print the loop index until it reaches 5. The loop runs as long as the condition i < 5 is true, and the loop index is incremented by 1 with each iteration.

I hope these additional examples help you better understand loops in Python. Let me know if you have any other questions!

  1. Looping over a dictionary

You can use a for loop to iterate over the keys and values in a Python dictionary. Here’s an example:

# Loop over a dictionary and print the key-value pairs
my_dict = {"a": 1, "b": 2, "c": 3}

for key, value in my_dict.items():
    print(key, value)

In this example, the program uses the items() method to iterate over the key-value pairs in the dictionary, and prints each pair to the console.

  1. Looping with the enumerate() function

The enumerate() function in Python can be used in a for loop to generate an index for each item in a sequence. Here’s an example:

# Loop over a list and print the index and value of each item
my_list = ["apple", "banana", "orange"]

for i, value in enumerate(my_list):
    print(i, value)

In this example, the program uses the enumerate() function to generate an index for each item in the list, and prints the index and value to the console.

  1. Looping with the zip() function

The zip() function in Python can be used to iterate over multiple sequences in parallel. Here’s an example:

# Loop over two lists and print the corresponding items from each list
fruits = ["apple", "banana", "orange"]
prices = [1.0, 2.0, 1.5]

for fruit, price in zip(fruits, prices):
    print(fruit, price)

In this example, the program uses the zip() function to iterate over two lists in parallel, and prints the corresponding items from each list to the console.

I hope these additional examples help you better understand loops in Python. Let me know if you have any other questions!

Leave a Reply