앞에서 1부터 50까지 숫자의 합을 구하는 프로그램을 for 문으로 작성했습니다.
result = 0
for i in range(1, 51):
result += i
print(result)
이 프로그램을 while 문으로 변경해 봅시다. 직접 변경해 본 후 책을 확인하세요!
result = 0
i = 1
while i < 51:
result += i
i += 1
print(result)
실행결과
1275
for 문은 반복 구간에 초깃값(시작 숫자)과 반복 조건이 들어 있어서 반복 조건 변수를 정의할 필요 없이 반복문 내부에서 result += i를 실행하기만 하면 됩니다. 하지만 while 문에는 반복 조건만 있기 때문에 변수의 초깃값을 미리 지정하고 변수의 값을 증가시키는 과정이 필요합니다. 따라서 while 문이 시작되기 전에 i = 1로 변수 i를 정의해 반복 구간이 시작하는 값을 별도로 지정해야 합니다. 그러고 나서 result += i를 반복할 조건을 while 다음에 넣어야 합니다. i가 50일 때까지 더하므로 조건은 i <= 50 또는 i < 51을 넣으면 됩니다. 그리고 i를 1씩 증가시키는 i += 1을 while 문 내부에 반드시 포함해야 합니다. 그렇지 않으면 반복문이 끝나지 않습니다.
반복문을 작성할 때 반복 횟수가 정해져 있거나 반복 구간이 명확하다면 for 문을 활용하는 것이 더 편합니다. 그러나 횟수를 지정하지 않고 반복할 조건이 필요할 때는 while 문이 더 낫습니다.