지식의 공간/파이썬

비전공자의 파이썬 독학 18. 제어문 (2) while 문

빈테리 2024. 5. 11. 07:06

목차

    반응형

    파이썬에서 반복적인 작업을 자동으로 처리하게 해주는 기본적인 구문 중 하나가 while 문입니다. 반복문이라고도 하는 while의 기본구조부터 활용법에 대해 정리해보았습니다.(참고서적: 점프투 파이썬).

     

    1. while문의 기본구조

    while 문은 주어진 조건이 참(True)인 동안, 지정된 블록의 문장들을 반복 실행합니다. 기본 구조는 다음과 같습니다.

    while 조건:
        수행할 문장1
        수행할 문장2
        수행할 문장3
        ...

     

    1.1 조건이 참인 동안 반복 실행

    조건식이 참으로 평가될 때까지 계속해서 코드 블록을 실행하는 특성 때문에, while 문은 특정 조건에 도달할 때까지 반복해서 작업을 수행하도록 할 때 유용합니다. 예를 들어, 나무를 10번 찍을 때까지 반복하는 상황을 코딩할 수 있습니다.

    >>> treeHit = 0
    >>> while treeHit < 10:
    ...     treeHit = treeHit +1
    ...     print("나무를 %d번 찍었습니다." % treeHit)
    ...     if treeHit == 10:
    ...         print("나무 넘어갑니다.")
    ...
    나무를 1번 찍었습니다.
    나무를 2번 찍었습니다.
    나무를 3번 찍었습니다.
    나무를 4번 찍었습니다.
    나무를 5번 찍었습니다.
    나무를 6번 찍었습니다.
    나무를 7번 찍었습니다.
    나무를 8번 찍었습니다.
    나무를 9번 찍었습니다.
    나무를 10번 찍었습니다.
    나무 넘어갑니다.
    
    #예제 출처: 점프 투 파이썬 03장 03-2

    위의 예제에서 조건문 while문은 treeHit<10로 입력되었습니다. 이 뜻은 treeHit가 10보다 작은 조건에서 while문이 반복적으로 수행된다는 의미입니다. 1씩 증가되는 while문 문장에 따라 treeHit값이 반복 수행되며 1씩 증가할것이고 그 값이 10에 도달하면 최종적으로 '나무 넘어갑니다.' 이 출력되며 while문이 종료됩니다.

     

    2. 무한 루프와 강제 종료 break

    while 문은 조건이 항상 참인 경우 무한히 실행될 수 있습니다. 이를 무한 루프라고 하며, 특별히 중단 신호를 받거나, 조건을 변경하여 빠져나올 방법인 break를 코드 내에 구현해야 합니다.

    while True:
        response = input("종료하려면 'exit'를 입력하세요: ")
        if response == 'exit':
            break
        else:
            print("계속 진행합니다.")

     

     

    3. while문의 맨 처음으로 다시 돌아가기 continue

    while문 조건에 맞지않을때 다시 처음부터 수행하고 싶을때가 있습니다. 이럴때는 continue를 사용합니다.

    b = 0
    while b < 10:
        b += 1
        if b % 2 != 0: continue  # 홀수일 경우 출력을 건너뛰고 반복을 계속합니다.
        print(b)

     

    반응형