>백엔드 개발 >파이썬 튜토리얼 >For 루프의 반복 변수를 수정하면 Python에서 예상대로 작동하지 않는 이유는 무엇이며 어떻게 수정할 수 있습니까?

For 루프의 반복 변수를 수정하면 Python에서 예상대로 작동하지 않는 이유는 무엇이며 어떻게 수정할 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-24 01:15:10819검색

Why Doesn't Modifying a For Loop's Iteration Variable Work as Expected in Python, and How Can It Be Fixed?

Python에서 반복 변수 수정 재고

Python의 for 루프를 사용하여 시퀀스를 반복할 때 반복 변수. 다음 Python 코드를 고려하십시오.

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

예상 출력:

0
1
2
3
4
8
9

그러나 실제 출력은 다릅니다.

0
1
2
3
4
8
6
7
8
9

' 값이 왜 ' 루프 내에서는 변경되지 않습니다. 이를 수정하려면 어떻게 해야 합니까?

이유는 어떻게 해야 합니까? 루프는 Python에서 작동합니다. 각 루프 반복에는 새 범위를 생성하고 반복 변수에 새 값을 할당하는 작업이 포함됩니다. 루프 내에서 반복 변수를 수정하면 현재 반복 내의 값에만 영향을 미치고 후속 반복에는 영향을 주지 않습니다.

의도한 동작을 달성하려면 대신 while 루프를 활용할 수 있습니다. 수정된 코드는 다음과 같습니다.

i = 0
while i < 10:
    # Perform operations and modify 'i' as needed
    if i == 5:
        i += 3

    print(i)

    # Increment 'i' manually within the loop
    i += 1

이 접근 방식은 단일 범위를 생성하고 'i'에 대한 수정 사항이 루프 실행 전체에 걸쳐 유지되도록 합니다.

위 내용은 For 루프의 반복 변수를 수정하면 Python에서 예상대로 작동하지 않는 이유는 무엇이며 어떻게 수정할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.