For loop 13 and 14th class
The range() Function in Python
The range() function is a built-in Python function that generates a sequence of numbers. It’s commonly used in for loops to iterate a specific number of times.
Basic Syntax
There are three ways to use range():
range(stop)range(start, stop)range(start, stop, step)
1. range(stop) – One Parameter Form
Generates numbers from 0 up to (but not including) the stop value.
python
for i in range(5):
print(i)
Output:
text
0 1 2 3 4
2. range(start, stop) – Two Parameter Form
Generates numbers from start up to (but not including) stop.
python
for i in range(3, 7):
print(i)
Output:
text
3 4 5 6
3. range(start, stop, step) – Three Parameter Form
Generates numbers from start to stop, incrementing by step each time.
python
for i in range(0, 10, 2):
print(i)
Output:
text
0 2 4 6 8
Negative Step
You can count backwards by using a negative step:
python
for i in range(5, 0, -1):
print(i)
Output:
text
5 4 3 2 1
Important Characteristics
- Memory Efficient:
range()doesn’t create a list in memory – it generates numbers on demand. - Not Inclusive: The stop value is never included in the sequence.
- Immutable Sequence: The sequence produced by
range()cannot be modified.
Converting to a List
You can convert a range to a list to see all values:
python
numbers = list(range(1, 6)) print(numbers) # Output: [1, 2, 3, 4, 5]
Common Use Cases
- Looping a specific number of times:
python
for _ in range(3):
print("Hello!")
- Generating indices for sequences:
python
colors = ['red', 'green', 'blue']
for i in range(len(colors)):
print(i, colors[i])
- Creating mathematical sequences:
python
squares = [x**2 for x in range(10)]
Remember that range() creates a sequence of integers, so it’s not suitable for floating-point ranges. For that, you might use NumPy’s arange() or manually increment values in a loop.
For Loops in Python
A for loop in Python is used to iterate over a sequence (like a list, tuple, dictionary, set, or string) or other iterable objects. Here’s a basic explanation with simple examples:
Basic Syntax
python
for item in sequence:
# code to execute for each item
Example 1: Looping through a list
python
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
Output:
text
apple banana cherry
Example 2: Looping through a string
python
for char in "hello":
print(char)
Output:
text
h e l l o
Example 3: Using range() function
python
# Prints numbers 0 to 4
for i in range(5):
print(i)
Output:
text
0 1 2 3 4
Example 4: Looping with index and value
python
colors = ["red", "green", "blue"]
for index, color in enumerate(colors):
print(f"Index {index} has color {color}")
Output:
text
Index 0 has color red Index 1 has color green Index 2 has color blue
Example 5: Nested for loops
python
for i in range(3):
for j in range(2):
print(f"i={i}, j={j}")
Output:
text
i=0, j=0 i=0, j=1 i=1, j=0 i=1, j=1 i=2, j=0 i=2, j=1
Example 6: Looping with else clause
python
for num in range(3):
print(num)
else:
print("Loop completed!")
Output:
text
0 1 2 Loop completed!
Key Points:
- The
forloop executes a block of code for each item in the sequence - You can use
breakto exit the loop early - You can use
continueto skip to the next iteration - The
elseclause executes after the loop completes normally (not when broken)