The range()
function defaults to increment the sequence by 1
.
However, it is possible to specify the increment value by adding a third parameter: range(start, end, step)
.
For example:
range(2, 17, 3) # returns the sequence [2, 5, 8, 11, 14]
Looping through even numbers:
For example, we can use range()
and for
to loop through the even numbers in some range:
for i in range(2, 12, 2):
print(i)
The output of this code is:
2
4
6
8
10
Assignment
Let's print all odd numbers from 7
through 23
using a for loop.
Hint
Look at the examples above if you get stuck.
The range()
function in Python is a powerful tool for generating sequences of numbers. It is commonly used in loops to iterate over a sequence of numbers. Understanding how to use the range()
function with different step values can significantly enhance your ability to write efficient and concise code.
This lesson will focus on using the range()
function with a step parameter to generate sequences with custom increments. This is particularly useful in scenarios where you need to iterate over a sequence with a specific pattern, such as generating even or odd numbers.
The range()
function generates a sequence of numbers, starting from a specified start value and ending before a specified end value. By default, the sequence increments by 1. However, you can specify a different increment value using the step parameter.
For example, range(2, 17, 3)
generates the sequence [2, 5, 8, 11, 14]. Here, the sequence starts at 2, ends before 17, and increments by 3.
Understanding these basics is crucial before moving on to more complex applications of the range()
function.
The key concept here is the use of the step parameter in the range()
function. The syntax is range(start, end, step)
, where:
start
is the starting value of the sequence.end
is the end value (exclusive) of the sequence.step
is the increment value between each number in the sequence.To apply these concepts, consider the task of generating even numbers between 2 and 12:
for i in range(2, 12, 2):
print(i)
This code will output: 2, 4, 6, 8, 10.
Let's look at a few examples to solidify our understanding:
Example 1: Generating a sequence of odd numbers from 7 to 23
for i in range(7, 24, 2):
print(i)
This code will output: 7, 9, 11, 13, 15, 17, 19, 21, 23.
Example 2: Generating a sequence of numbers with a negative step
for i in range(10, 0, -2):
print(i)
This code will output: 10, 8, 6, 4, 2.
When using the range()
function, it's important to avoid common mistakes such as:
Best practices include:
Advanced use of the range()
function can involve combining it with other functions or using it in more complex loops. For example, you can use the range()
function with list comprehensions to generate lists of numbers:
even_numbers = [i for i in range(2, 12, 2)]
print(even_numbers)
This code will output: [2, 4, 6, 8, 10].
Let's implement the assignment to print all odd numbers from 7 through 23:
# Loop through odd numbers from 7 to 23
for i in range(7, 24, 2):
print(i)
This code will output: 7, 9, 11, 13, 15, 17, 19, 21, 23.
When debugging code that uses the range()
function, consider the following tips:
To test the function, you can write simple test cases to ensure it behaves as expected:
def test_range_function():
result = list(range(7, 24, 2))
expected = [7, 9, 11, 13, 15, 17, 19, 21, 23]
assert result == expected, f"Expected {expected}, but got {result}"
test_range_function()
When approaching problems involving the range()
function:
Mastering the range()
function with a step parameter is a valuable skill in Python programming. It allows you to generate custom sequences of numbers efficiently and is particularly useful in loops. By understanding the basics, avoiding common pitfalls, and practicing with various examples, you can enhance your coding skills and write more efficient code.
For further reading and practice, consider the following resources:
Our interactive tutorials and AI-assisted learning will help you master problem-solving skills and teach you the algorithms to know for coding interviews.
Start Coding for FREE