Introduction to Loops
In programming, loops are used to execute a block of code repeatedly without writing the same code multiple times. This is especially useful when dealing with large datasets or repetitive tasks.
Real-World Analogy
Imagine you want to print numbers from 1 to 100. Writing 100 print statements is inefficient. A loop allows you to achieve this with just a few lines of code.
Types of Loops
forloop: Used when the number of iterations is knownwhileloop: Used when the number of iterations depends on a condition
Example
for i in range(1, 6):
print(i)
Key Concepts
- Iteration: One complete execution of the loop body
- Loop control variable: Tracks the progress of the loop
- Condition: Determines when the loop stops
- for Loop
The for loop is used to iterate over a sequence such as a list, tuple, string, or range.
Syntax
for variable in sequence:
# code block
Example with range()
for i in range(1, 6):
print(i)
//Understanding range()
range(5) → 0 to 4
range(1, 6) → 1 to 5
range(1, 10, 2) → 1, 3, 5, 7, 9
//Iterating Over Different Data Types
//List Example
numbers = [10, 20, 30]
for num in numbers:
print(num)
//String Example
for char in "Python":
print(char)
//Using else with for Loop
for i in range(3):
print(i)
else:
print("Loop finished")
Key Points
- Automatically iterates over elements
- No need for manual counter management
- Widely used for traversing collections
- while Loop
The while loop executes as long as a condition remains true.
Syntax
while condition:
# code block
Example
i = 1
while i <= 5:
print(i)
i += 1
//Infinite Loop
while True:
print("This runs forever")
//Using else with while
i = 1
while i <= 3:
print(i)
i += 1
else:
print("Loop ended")
Important Notes
- Condition must eventually become False
- Forgetting to update variables leads to infinite loops
- break Statement
The break statement is used to terminate a loop immediately when a condition is met.
Example
for i in range(10):
if i == 5:
break
print(i)
Explanation
- Loop stops when
i == 5 - Remaining iterations are skipped
Use Cases
- Searching for an element
- Exiting loops early for efficiency
- continue Statement
The continue statement skips the current iteration and moves to the next one.
Example
for i in range(5):
if i == 2:
continue
print(i)
Explanation
- When
i == 2, the loop skips printing - Continues with next iteration
Use Cases
- Skipping unwanted values
- Filtering data
- pass Statement
The pass statement acts as a placeholder. It does nothing but prevents syntax errors when a statement is required.
Example
for i in range(5):
if i == 3:
pass
print(i)
When to Use
- While writing incomplete code
- Creating empty loops or functions
- Nested Loops
Nested loops are loops inside another loop. They are useful for working with multi-dimensional data or creating patterns.
Syntax
for i in range(3):
for j in range(3):
print(i, j)
Example (Multiplication Table)
for i in range(1, 4):
for j in range(1, 4):
print(i * j, end=" ")
print()
//Pattern Example
for i in range(4):
for j in range(i + 1):
print("*", end=" ")
print()
Output
*
* *
* * *
* * * *
Key Points
- Inner loop runs completely for each outer loop iteration
- Can increase complexity
- Should be used carefully to maintain readability
Conclusion
Loops are a fundamental concept in Python that allow repetitive tasks to be handled efficiently. The for loop is ideal for iterating over sequences, while the while loop is useful when repetition depends on conditions. Control statements like break, continue, and pass provide flexibility in managing loop behavior.
By mastering loops, learners can solve complex problems, process large datasets, and write optimized programs. This knowledge forms a strong foundation for advanced topics such as data structures, algorithms, and real-world application development.