Python

[Python] 파이썬 break와 continue로 반복문 제어하기

sécurité de l'information 2024. 7. 24.

[Python] 파이썬 break와 continue로 반복문 제어하기

목차

  1. 소개
  2. break 문: 반복문 탈출하기
  3. continue 문: 다음 반복으로 건너뛰기
  4. 실제 사용 예시
  5. break와 continue의 차이점
  6. 중첩 루프에서의 사용
  7. 주의사항 및 best practices
  8. 연습 문제
  9. 결론

소개

안녕하세요, 파이썬 개발자 여러분! 오늘은 파이썬 프로그래밍에서 매우 유용한 두 가지 제어문인 breakcontinue에 대해 자세히 알아보겠습니다. 이 두 키워드는 반복문의 흐름을 제어하는 데 사용되며, 적절히 활용하면 코드의 효율성과 가독성을 크게 향상시킬 수 있습니다.

break 문: 반복문 탈출하기

break 문은 현재 반복문을 즉시 종료하고 루프 밖으로 제어를 이동시킵니다.

기본 사용법:

for i in range(10):
    if i == 5:
        break
    print(i)

print("루프 종료")

출력:

0
1
2
3
4
루프 종료

이 예제에서 i가 5가 되면 break 문이 실행되어 for 루프가 즉시 종료됩니다.

continue 문: 다음 반복으로 건너뛰기

continue 문은 현재 반복을 중단하고 다음 반복으로 즉시 넘어갑니다.

기본 사용법:

for i in range(5):
    if i == 2:
        continue
    print(i)

print("루프 종료")

출력:

0
1
3
4
루프 종료

이 예제에서 i가 2일 때 continue 문이 실행되어 해당 반복을 건너뛰고 다음 반복으로 넘어갑니다.

실제 사용 예시

1. 소수 찾기

def is_prime(n):
    if n < 2:
        return False
    for i in range(2, int(n**0.5) + 1):
        if n % i == 0:
            return False
    return True

for num in range(2, 20):
    if not is_prime(num):
        continue
    print(f"{num}은(는) 소수입니다.")

이 예제에서는 continue를 사용하여 소수가 아닌 숫자를 건너뛰고 소수만 출력합니다.

2. 사용자 입력 검증

while True:
    password = input("비밀번호를 입력하세요 (종료하려면 'q' 입력): ")
    if password == 'q':
        break
    if len(password) < 8:
        print("비밀번호는 8자 이상이어야 합니다.")
        continue
    print("유효한 비밀번호입니다.")

이 예제에서는 break를 사용하여 루프를 종료하고, continue를 사용하여 부적절한 입력을 처리합니다.

break와 continue의 차이점

특성 break continue
동작 루프를 즉시 종료 현재 반복을 건너뛰고 다음 반복으로 이동
적용 범위 가장 안쪽의 루프만 종료 현재 반복만 영향
사용 시기 특정 조건에서 루프를 완전히 빠져나가야 할 때 특정 조건에서 현재 반복을 건너뛰어야 할 때

중첩 루프에서의 사용

중첩된 루프에서 breakcontinue는 가장 안쪽의 루프에만 영향을 미칩니다.

for i in range(3):
    for j in range(3):
        if i == j:
            continue
        print(f"i: {i}, j: {j}")
    print(f"i: {i} 반복 완료")

출력:

i: 0, j: 1
i: 0, j: 2
i: 0 반복 완료
i: 1, j: 0
i: 1, j: 2
i: 1 반복 완료
i: 2, j: 0
i: 2, j: 1
i: 2 반복 완료

주의사항 및 best practices

  1. 가독성: breakcontinue를 과도하게 사용하면 코드의 흐름을 이해하기 어려워질 수 있습니다. 필요한 경우에만 사용하세요.

  2. 무한 루프 주의: while True와 같은 무한 루프를 사용할 때는 반드시 break 조건을 명확히 설정해야 합니다.

  3. else 절과의 상호작용: break로 루프를 빠져나가면 루프의 else 절은 실행되지 않습니다.

for i in range(5):
    if i == 3:
        break
    print(i)
else:
    print("루프가 정상적으로 완료되었습니다.")

print("프로그램 종료")

이 코드에서는 break로 인해 else 절이 실행되지 않습니다.

연습 문제

  1. 1부터 100까지의 숫자 중 3의 배수이면서 5의 배수인 첫 번째 숫자를 찾는 프로그램을 작성하세요. (break 사용)

  2. 1부터 20까지의 숫자 중 짝수만 출력하는 프로그램을 작성하세요. (continue 사용)

정답 보기

1번 문제 정답:

for num in range(1, 101):
    if num % 3 == 0 and num % 5 == 0:
        print(f"첫 번째 3과 5의 공배수: {num}")
        break

2번 문제 정답:

for num in range(1, 21):
    if num % 2 != 0:
        continue
    print(num)

결론

breakcontinue는 파이썬 반복문을 더 유연하고 효율적으로 제어할 수 있게 해주는 강력한 도구입니다. break는 루프를 완전히 종료할 때, continue는 특정 조건에서 현재 반복을 건너뛰고 싶을 때 사용합니다. 이 두 키워드를 적절히 활용하면 더 간결하고 효과적인 코드를 작성할 수 있습니다.

하지만 과도한 사용은 코드의 가독성을 해칠 수 있으므로, 필요한 경우에만 신중하게 사용하는 것이 좋습니다. 연습을 통해 이 도구들을 마스터하면, 여러분의 파이썬 코딩 스킬은 한 단계 더 성장할 것입니다!

해피 코딩! 🐍✨

추가 학습 자료

이 포스팅이 여러분의 파이썬 학습에 도움이 되었기를 바랍니다. 궁금한 점이나 추가 설명이 필요한 부분이 있다면 언제든 댓글로 남겨주세요. 함께 성장하는 개발자 커뮤니티를 만들어갑시다!

댓글

💲 추천 글