프로그래밍/파이썬(Python)

파이썬(Python) 조건 제어문: while 반복문

프리다이어비티즈 2024. 10. 15. 10:34
반응형

목차

    파이썬에서 반복 작업을 수행할 때 for 반복문과 함께 자주 사용되는 것이 while 반복문입니다. while 반복문은 조건이 참인 동안 계속해서 코드를 반복 실행할 수 있도록 해줍니다. 이번 글에서는 while 반복문의 기본 사용법부터 고급 활용법까지 자세히 다루어 보겠습니다.

    공지

    본 포스팅의 무단도용 및 배포를 금지합니다.

    1. 기본적인 while 반복문 사용법

    while 반복문은 특정 조건이 참인 동안 코드 블록을 반복 실행합니다. 기본 구조는 다음과 같습니다.

    while condition:
        # 반복할 코드 블록
        print("Looping...")
    • condition: 반복을 계속할지 결정하는 조건입니다. 이 조건이 True인 동안에만 반복문이 실행됩니다.

    예를 들어, 5보다 작은 숫자를 출력하는 while 반복문을 작성할 수 있습니다.

    count = 0
    while count < 5:
        print(count)
        count += 1

    출력 결과는 다음과 같습니다:

    0
    1
    2
    3
    4

    위 예제에서 count가 5 미만인 동안 계속해서 값을 출력하고, 매번 count를 증가시킵니다.

     

    2. 무한 반복문

    조건이 항상 참(True)인 경우, while 반복문은 종료되지 않고 계속 반복됩니다. 이를 무한 반복문이라고 하며, 보통 특정 조건을 만족할 때 반복을 종료하도록 break 문을 사용합니다.

    while True:
        user_input = input("종료하려면 'exit'을 입력하세요: ")
        if user_input == 'exit':
            break
        print(f"입력한 내용: {user_input}")

    사용자가 'exit'을 입력할 때까지 계속해서 입력을 받고 출력하는 무한 반복문입니다.

     

    3. break와 continue 사용하기

    • break: 반복문을 즉시 종료합니다.
    • continue: 반복문의 현재 순회를 건너뛰고 다음 순회로 넘어갑니다.
    count = 0
    while count < 10:
        if count == 5:
            break
        print(count)
        count += 1

    출력 결과는 다음과 같습니다:

    0
    1
    2
    3
    4

    count가 5일 때 break 문이 실행되어 반복문이 종료됩니다.

    count = 0
    while count < 10:
        count += 1
        if count % 2 == 0:
            continue
        print(count)

    출력 결과는 다음과 같습니다:

    1
    3
    5
    7
    9

    count가 짝수일 때 continue 문이 실행되어 해당 순회를 건너뛰고 다음 순회로 넘어갑니다.

    4. else와 함께 사용하는 while 반복문

    while 반복문은 else 블록을 가질 수 있습니다. while 반복문이 정상적으로 종료되었을 때 else 블록이 실행됩니다. break 문으로 인해 종료된 경우에는 else 블록이 실행되지 않습니다.

    count = 0
    while count < 5:
        print(count)
        count += 1
    else:
        print("Loop completed without break.")

    출력 결과는 다음과 같습니다:

    0
    1
    2
    3
    4
    Loop completed without break.

    반복문이 정상적으로 종료되었기 때문에 else 블록이 실행됩니다.

    count = 0
    while count < 5:
        if count == 3:
            break
        print(count)
        count += 1
    else:
        print("Loop completed without break.")

    출력 결과는 다음과 같습니다:

    0
    1
    2

    count가 3일 때 break 문이 실행되어 반복문이 종료되었으므로 else 블록은 실행되지 않습니다.

     

    5. 사용자 입력을 통한 반복 제어

    사용자 입력을 받아 특정 조건이 만족될 때까지 반복하는 상황에서도 while 반복문이 자주 사용됩니다. 예를 들어, 사용자가 올바른 입력을 할 때까지 계속 반복하는 코드를 작성할 수 있습니다.

    correct_password = "python123"
    while True:
        password = input("비밀번호를 입력하세요: ")
        if password == correct_password:
            print("비밀번호가 맞습니다!")
            break
        else:
            print("잘못된 비밀번호입니다. 다시 시도하세요.")

    사용자가 올바른 비밀번호를 입력할 때까지 계속해서 입력을 요청합니다.

     

    6. while 반복문과 조건 변경

    while 반복문은 반복 조건을 명확하게 제어할 수 있어 특정 조건을 만족할 때 반복을 종료하도록 설정할 수 있습니다. 예를 들어, 숫자가 특정 값에 도달할 때까지 반복하는 코드입니다.

    number = 10
    while number > 0:
        print(number)
        number -= 2

    출력 결과는 다음과 같습니다:

    10
    8
    6
    4
    2

    이 예제에서는 number가 0보다 클 때까지 반복하며, 매번 2씩 감소시킵니다.

     

    7. 사람들이 자주 묻는 질문들

    7.1 while 반복문과 for 반복문의 차이점은 무엇인가요?

    • while 반복문은 조건이 참인 동안 반복합니다. 반복 횟수가 명확하지 않거나 조건에 따라 반복이 종료되어야 할 때 사용합니다.
    • for 반복문은 시퀀스의 각 요소를 순회하거나 정해진 횟수만큼 반복할 때 사용합니다.

     

    7.2 무한 반복문은 언제 사용하나요?

    무한 반복문은 서버 대기, 사용자 입력 처리, 특정 이벤트 대기 등 반복이 끝나지 않는 상황에서 사용됩니다. 이러한 경우 반드시 break 문을 사용해 종료 조건을 설정해야 합니다.

     

    7.3 while 반복문에서 조건이 항상 참이면 어떻게 되나요?

    조건이 항상 참인 경우 while 반복문은 무한히 반복됩니다. 이를 무한 루프라고 하며, 종료 조건을 설정하거나 break 문을 사용하여 적절한 시점에 반복을 멈춰야 합니다.


    파이썬의 while 반복문은 조건에 따라 반복을 제어하는 강력한 도구입니다. 반복 횟수가 불명확하거나 조건에 따라 반복을 제어해야 할 때 유용하게 사용할 수 있습니다. break와 continue를 활용한 제어, 사용자 입력을 통한 반복 제어, 그리고 else와 함께 사용하는 고급 기능까지 익혀두면 더 유연하고 효율적인 반복문을 작성할 수 있습니다. 이번 글이 while 반복문을 이해하고 활용하는 데 도움이 되었길 바랍니다. 추가로 궁금한 점이 있다면 언제든지 문의해주세요.

    반응형