Home >Backend Development >Python Tutorial >Why Do Modified Iteration Variables in a For Loop Not Affect Subsequent Iterations?

Why Do Modified Iteration Variables in a For Loop Not Affect Subsequent Iterations?

Barbara Streisand
Barbara StreisandOriginal
2024-11-23 17:06:13995browse

Why Do Modified Iteration Variables in a For Loop Not Affect Subsequent Iterations?

Why Doesn't Modifying Iteration Variables Impact Subsequent Iterations?

When attempting to adjust internal loop variable values, as demonstrated in the following Python code, unexpected behavior may result:

for i in range(0, 10):
    if i == 5:
        i += 3
    print(i)

Initially, the expected output would resemble this:

0
1
2
3
4
8
9

However, the actual result deviates from expectations:

0
1
2
3
4
8
6
7
8
9

This is because a for loop defines a separate scope for the iteration variable within each iteration cycle. Once you modify the value of the loop variable, it only affects the current iteration without any impact on subsequent iterations.

To achieve the intended output, alternative looping structures offer more versatility. Consider employing a while loop instead:

i = 0
while i < 10:
    # Manipulate `i` as desired
    if i == 5:
        i += 3

    print(i)

    # Increment `i` manually
    i += 1

Utilizing this approach ensures that modifications to the loop variable will be reflected in subsequent iterations, providing the desired output you sought.

The above is the detailed content of Why Do Modified Iteration Variables in a For Loop Not Affect Subsequent Iterations?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn