stackademic

The leading education platform for anyone with an interest in software development.

Loops

Iterate with for and while loops, break, continue, and enumerate

Overview

Loops repeat code over sequences or while a condition holds. Python favors for loops over index-based iteration—use range(), enumerate(), and zip() instead of manual counter variables when possible.

Syntax / Usage

# for loop over a sequence
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

# range(start, stop, step)
for i in range(3):
    print(i)  # 0, 1, 2

# while loop
count = 0
while count < 3:
    count += 1

# break and continue
for n in range(10):
    if n == 5:
        break      # exit loop
    if n % 2 == 0:
        continue   # skip to next iteration
    print(n)

# enumerate for index + value
for index, value in enumerate(["a", "b"]):
    print(index, value)

Examples

Sum numbers until the user types quit:

total = 0
while True:
    line = input("Enter a number (or 'quit'): ")
    if line == "quit":
        break
    total += int(line)
print(f"Total: {total}")

Find the first even number in a list:

numbers = [1, 3, 5, 8, 9]
for n in numbers:
    if n % 2 == 0:
        print(f"First even: {n}")
        break
else:
    print("No even numbers found")

Common Mistakes

  • Modifying a list while iterating over it—iterate over a copy instead
  • Infinite while True loops without a break condition
  • Using range(len(items)) when enumerate(items) is clearer
  • Off-by-one errors with range stop values (stop is exclusive)

See Also

python-list-comprehension python-functions python-dictionaries