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():

  1. range(stop)
  2. range(start, stop)
  3. 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

  1. Memory Efficientrange() doesn’t create a list in memory – it generates numbers on demand.
  2. Not Inclusive: The stop value is never included in the sequence.
  3. 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

  1. Looping a specific number of times:

python

for _ in range(3):
    print("Hello!")
  1. Generating indices for sequences:

python

colors = ['red', 'green', 'blue']
for i in range(len(colors)):
    print(i, colors[i])
  1. 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

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 for loop executes a block of code for each item in the sequence
  • You can use break to exit the loop early
  • You can use continue to skip to the next iteration
  • The else clause executes after the loop completes normally (not when broken)

Similar Posts

  • Decorators in Python

    Decorators in Python A decorator is a function that modifies the behavior of another function without permanently modifying it. Decorators are a powerful tool that use closure functions. Basic Concept A decorator: Simple Example python def simple_decorator(func): def wrapper(): print(“Something is happening before the function is called.”) func() print(“Something is happening after the function is…

  • Inheritance in OOP Python: Rectangle & Cuboid Example

    Rectangle Inheritance in OOP Python: Rectangle & Cuboid Example Inheritance in object-oriented programming (OOP) allows a new class (the child class) to inherit properties and methods from an existing class (the parent class). This is a powerful concept for code reusability ♻️ and establishing a logical “is-a” relationship between classes. For instance, a Cuboid is…

  •  List operators,List Traversals

    In Python, lists are ordered, mutable collections that support various operations. Here are the key list operators along with four basic examples: List Operators in Python 4 Basic Examples 1. Concatenation (+) Combines two lists into one. python list1 = [1, 2, 3] list2 = [4, 5, 6] combined = list1 + list2 print(combined) # Output: [1, 2, 3,…

  • Else Block in Exception Handling in Python

    Else Block in Exception Handling in Python The else block in Python exception handling executes only if the try block completes successfully without any exceptions. It’s placed after all except blocks and before the finally block. Basic Syntax: python try: # Code that might raise an exception except SomeException: # Handle the exception else: # Code that runs only if no exception…

  • Method overriding

    Method overriding is a key feature of object-oriented programming (OOP) and inheritance. It allows a subclass (child class) to provide its own specific implementation of a method that is already defined in its superclass (parent class). When a method is called on an object of the child class, the child’s version of the method is…

  • Mutable vs. Immutable Objects in Python 🔄🔒

    Mutable vs. Immutable Objects in Python 🔄🔒 In Python, mutability determines whether an object’s value can be changed after creation. This is crucial for understanding how variables behave. 🤔 Immutable Objects 🔒 Example 1: Strings (Immutable) 💬 Python Example 2: Tuples (Immutable) 📦 Python Mutable Objects 📝 Example 1: Lists (Mutable) 📋 Python Example 2:…

Leave a Reply

Your email address will not be published. Required fields are marked *