Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

Python for 루프를 while 루프로 변환하는 방법

Python for 루프를 while 루프로 변환하는 방법

Python의 for 루프는 while 루프와 달리 반복 횟수를 세는 별도의 카운팅 변수가 필요하지 않습니다. for 루프는 range 객체, 리스트, 문자열과 같은 이터러블(iterable)을 직접 순회하기 때문입니다. 따라서 for 루프를 동일하게 동작하는 while 루프로 변환하려면, 이러한 구조적 차이를 고려하여 카운팅 변수를 직접 초기화하고 갱신해 주어야 합니다.

1. 변환 대상: 간단한 for 루프

다음은 range(5)를 순회하며 0부터 4까지 출력하는 기본적인 for 루프입니다.

for x in range(5):
print(x)

이 코드를 실행하면 0, 1, 2, 3, 4가 차례대로 출력됩니다.

2. while 루프로 변환하기

위 코드를 while 루프로 변환하려면 다음 세 가지 요소를 직접 구현해야 합니다.

  • 초기화: 루프 시작 전에 카운팅 변수를 0으로 설정합니다.
  • 조건 검사: 변수가 5보다 작은 동안 루프를 계속 실행합니다.
  • 증가: 매 반복마다 변수를 1씩 증가시킵니다.
x = 0
while x < 5:
print(x)
x = x + 1

이 while 루프는 앞의 for 루프와 완전히 동일하게 0부터 4까지 출력합니다. 반복 횟수를 관리하는 카운팅 변수를 직접 다룬다는 점만 다를 뿐, 실행 결과는 같습니다.

3. 두 루프의 주요 차이점

for 루프는 이터러블의 길이에 따라 반복 횟수가 자동으로 결정되므로 코드가 간결하고 무한 루프에 빠질 위험이 적습니다. 반면 while 루프는 조건식과 증감 코드를 직접 작성해야 하므로 유연하지만, 변수 증가 코드를 누락하면 무한 루프가 발생할 수 있으므로 주의해야 합니다. 상황에 따라 반복 횟수가 명확하면 for 루프를, 조건에 따라 반복해야 하면 while 루프를 사용하는 것이 좋습니다.