Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Additional Loop Considerations

A few other pieces of Python syntax we want to be aware of as we work with loops:

range()

Python’s range() function allows us to generate a list of integer values. The general syntax:

range(START VALUE, END VALUE, STEP INTERVAL)

The default start value for range() is 0, and the default step interval is 1.

So for example, range(6) would include the values [0, 1, 2, 3, 4, 5]. While range(1, 6, 2) would include the values [1, 3, 5].

We can use range() in combination with list() to generate a list of numbers.

  • list(range(6)) would generate the list [0, 1, 2, 3, 4, 5]

We can also use range() as part of a for loop to iterate over a list of numeric values (without having to create that list manually).

# for loop that iterates over values in range
for i in range(0, 3):
 print(i)

Additional Information

For more information on Python’s range() function:

enumerate()

In a previous lab, we talked about how each item in a list has an index, or a number that indicates its position in the list. We can use the enumerate() function to generate a list of pairs containing each item in the list and its index.

We can use the enumerate() function as part of a for loop.

# for loop that iterates over list index and values
for index, letter in enumerate('abc'):
 print(index, letter)

In this last example, for index, letter instructed Python to iterate over both components in the enumerate() output. print(index, letter) instructed Python to print both components for each element.

Additional Resources

For more information on Python’s enumerate() function:

Infinite Loop

Loops that have no endpoint are called infinite loops. For example, given the following program:

# assign count variable
count = 1

# while loop
while count <= 5: # initial condition
   print ("Python") # print statement
   count = count + 1 # reassign count

# final print statement
print ("Done")

What would happen if we removed count = count + 1 from the loop? The value of count would never change, the initial condition’s truth value (count <= 5) would never change (because count would always equal 1), and we would have an infinite loop.

Break & Continue

We can exit a loop immediately by using the break statement. break will stop or exit the while loop even if the condition is true.

# assign i variable
i = 1

# while loop
while i < 6: # initial condition

	print(i) # print statement

	if i == 3: # if statement
		break # break statement

	i += 1 # reassign i
1
2
3

In this example, the loop breaks as soon as the i == 3 condition is True.

We can skip the rest of the body of a loop and move on to the next iteration using continue.

Another example:

# assign the i variable
i = 0

# while loop
while i < 6: # initial condition

	i += 1 # reassign i

	if i ==3: # if statement
		continue # continue statement

	print(i) # print statement

In this example, the current iteration of the loop will stop when i == 3 is true. Unlike with break, the loop will not end. Instead when i == 3 is true, the loop will skip over the final nested print statement and return to the beginning of the loop for a new iteration.

Additional Resources

For more on break and continue: