파이썬 기초 – 13장. 반복문 – 파이썬 while

지난 포스팅에 이어 이번 포스팅은 파이썬의 반복문 while 문에 대해 포스팅 하겠습니다. 파이썬에서는 for문과 while문을 활용하여 반복문을 실행하는데, 두가지 모두 활용도가 있기 때문에 반드시 두 문법을 공부해두시기 바랍니다.

while 반복문은 조건이 참(True)인 동안 코드 블록을 실행합니다. for문이 정해진 컬렉션을 반복하는데 주로 사용한다면, while문은 반복이 끝나는 조건이 명확 할 때 주로 사용합니다. 그럼 while 반복문의 기초부터 고급사용법 까지 알아보겠습니다.

혹시 for 반복문을 학습하지 않으신 분은 지난 포스팅을 참고하시기 바랍니다.

파이썬 기초 – 11장. 반복문 – 파이썬 for

1. 파이썬의 반복문 소개

컴퓨터가 사람보다 잘하는 것은 단순한 것을 반복하는 것입니다. 이러한 반복 작업을 위해 파이썬에서는 for반복문과 while 반복문을 제공합니다. while 반복문은 조건이 참(True)인 동안 코드를 실행하므로 매우 유용합니다.

2. 파이썬 while문 기본 구조

while 반복문의 기본 구조는 다음과 같습니다. for문 / if문과 마찬가지로 들여쓰기는 4칸을 사용합니다.

while 조건:
    # 조건이 참일 때 실행할 코드

아래의 예제 코드를 보겠습니다. for문과 다르게 한번의 코드가 실행 된 후 다음 코드 반복을위해 count를 증가시키는 코드가 포함되어야 합니다. 또한 언제 명확하게 코드가 종료 될 지 알수 있는 조건이 있어야 합니다.

아래의 코드는 0부터 4까지의 숫자를 출력합니다. 조건인 ‘count < 5’가 거짓(False)이 될 때까지 반복 실행됩니다. 코드 내용 중 count +=1 은 count = count +1 과 동일한 코드 입니다. 파이썬에서 자주 사용하는 형식이니유심히 봐두시기 바랍니다.

count = 0
while count < 5:
    print("반복 중입니다.", count)
    count += 1

3. 파이썬 while문 vs. For문

‘while’ 반복문과 ‘for’ 반복문은 둘 다 반복 작업을 수행하지만 사용 시 상황에 따라 선택해야 합니다. ‘for’ 반복문은 정해진 범위 내에서 반복 작업을 수행하는데 유용하며, ‘while’ 반복문은 조건이 만족될 때까지 계속 반복 작업을 수행합니다.

때문에 while 반복문을 사용할 때는 무한 루프가 생긱지 않도록 주의해야만 합니다. 조건이 항상 참(True)이라면 프로그램은 끝없이 실행 되므로 주의가 필요합니다.

참고로 for문으로 작성한 모든 반복문은 while문으로 변경이 가능합니다. 물론 반대도 가능하지만, 순회해야 할 범위를 잡는 것이 어려운 경우가 많습니다. 아래의 코드를 참고하시기 바랍니다.

for문이 코드의 길이가 더 짧기 때문에 for문으로 작성 가능한 코드는 while문보다는 for문으로 작성하는 편이 가독성이 좋으니 참고하시기 바랍니다.

for i in range(1, 6):
    print(i)


i = 1  # 초기값을 설정합니다.

while i <= 5:
    print(i)
    i += 1

4. 파이썬 while 반복문을 활용한 예제

while 반복문을 활용한 예제를 알아 보도록 하겠습니다. 아래의 예제 코드를 참고하시기 바랍니다.

total = 0  # 합을 저장할 변수를 초기화합니다.
i = 1  # 반복 변수를 초기화합니다.

while i <= 5:
    total += i  # total에 i를 더합니다.
    i += 1  # i를 1씩 증가시킵니다.

print("1부터 5까지의 합:", total)

조금 더 어려운 코드지만 아래의 코드도 참고하시기 바랍니다. 아직 예외 처리에 대해서는 공부 하지 않았는데, 전반적인 코드의 진행이 어렵지 않기 때문에 어떻게 동작하는지 흐름을 이해한다고 생각하시고 읽어보시기 바랍니다. break-count 는 추후 다른 포스팅을 통해 알려드리도록 하겠습니다.

count = 0  # 입력된 숫자의 개수를 세는 변수를 초기화합니다.
total = 0  # 입력된 숫자의 합을 저장하는 변수를 초기화합니다.

while True:
    try:
        num = float(input("숫자를 입력하세요 (종료하려면 0을 입력하세요): "))
        
        if num == 0:
            break  # 사용자가 0을 입력하면 반복문을 종료합니다.
            
        total += num  # 입력된 숫자를 합에 더합니다.
        count += 1  # 입력된 숫자의 개수를 증가시킵니다.
    except ValueError:
        print("올바른 숫자를 입력하세요.")

if count > 0:
    average = total / count  # 평균을 계산합니다.
    print("입력한 숫자의 평균:", average)
else:
    print("입력된 숫자가 없습니다.")

5. 마무리

파이썬 while 반복문은 반복 작업을 효율적으로 수행하는데 큰 도움을 줍니다. 명확하게 반복해야 할 컬렉션이 없는 경우, 원하는 조건까지 반복할 때는 while문을 활용하는 것이 유리합니다. 다음 포스팅에서는 표준입출력에 대해 공유 하도록 하겠습니다. 혹시 포스팅에서 추가적으로 알고 싶은 내용이 있다면 공식개발문서를 참고하시기 바랍니다.

감사합니다. “끝”

Leave a Comment