Python - Loops
An infinite loop is a loop that continues to execute indefinitely because its terminating condition is never met. This can lead to the program running endlessly and can be a significant issue. To avoid infinite loops, it's crucial to set a proper termination condition.
Let's look at an example of an infinite loop and how to avoid it:
# Example: Infinite loop
while True:
print("This is an infinite loop")
# Uncomment the following line to create an infinite loop
# pass
In this example, the while True:
creates an infinite loop because the condition True
is always true. Uncommenting the pass
statement would make the loop truly infinite.
To avoid an infinite loop, a proper termination condition should be used. Here's an updated example:
# Example: Avoiding infinite loop
counter = 0
while counter < 5:
print("This is iteration", counter + 1)
counter += 1
Output:
This is iteration 1 This is iteration 2 This is iteration 3 This is iteration 4 This is iteration 5
In this corrected example, the loop iterates five times, and the counter
variable ensures that the termination condition is met.
break
statement to exit a loop prematurely in Python?
The break
statement is used to exit a loop prematurely, regardless of the loop's normal exit condition. It is often used when a certain condition is met, and you want to stop the loop immediately.
Let's look at an example of using the break
statement in a loop:
# Example: Using break statement to exit a loop
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for num in numbers:
print(num)
if num == 5:
print("Breaking the loop")
break
Output:
1 2 3 4 5 Breaking the loop
In this example, the loop iterates through the numbers from 1 to 10. When the value of num
becomes 5, the break
statement is executed, and the loop is terminated prematurely.
It's important to use the break
statement judiciously, as excessive use may lead to less readable and harder-to-maintain code.
continue
statement in Python loops.
The continue
statement is used in Python to skip the rest of the code inside a loop for the current iteration and move to the next iteration. It is often used when a specific condition is met, and you want to skip the remaining code in the loop for that particular iteration.
Let's look at an example of using the continue
statement in a loop:
# Example: Using continue statement in a loop
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for num in numbers:
if num % 2 == 0:
# Skip even numbers
continue
print(num)
Output:
1 3 5 7 9
In this example, the loop iterates through the numbers from 1 to 10. The continue
statement is used to skip even numbers, and only odd numbers are printed.
The continue
statement allows you to control the flow of the loop based on specific conditions, providing flexibility in handling different cases within the loop.
else
clause in a for
or while
loop in Python?
In Python, the else
clause in a for
or while
loop is used to specify a block of code that should be executed when the loop's condition becomes False
. This block is executed only if the loop terminates normally (not through a break
statement).
Let's illustrate the usage of the else
clause with examples for both a for
loop and a while
loop:
# Example 1: Using else with a for loop
numbers = [1, 2, 3, 4, 5]
for num in numbers:
print(num)
else:
print("Loop completed successfully!")
# Example 2: Using else with a while loop
count = 0
while count < 5:
print(count)
count += 1
else:
print("Loop completed successfully!")
Output:
1 2 3 4 5 Loop completed successfully! 0 1 2 3 4 Loop completed successfully!
In both examples, the else
block is executed after the loops complete their iterations. If the loop is terminated prematurely by a break
statement, the else
block will not be executed.