[Python] 파이썬 break와 continue로 반복문 제어하기
목차
- 소개
- break 문: 반복문 탈출하기
- continue 문: 다음 반복으로 건너뛰기
- 실제 사용 예시
- break와 continue의 차이점
- 중첩 루프에서의 사용
- 주의사항 및 best practices
- 연습 문제
- 결론
소개
안녕하세요, 파이썬 개발자 여러분! 오늘은 파이썬 프로그래밍에서 매우 유용한 두 가지 제어문인 break
와 continue
에 대해 자세히 알아보겠습니다. 이 두 키워드는 반복문의 흐름을 제어하는 데 사용되며, 적절히 활용하면 코드의 효율성과 가독성을 크게 향상시킬 수 있습니다.
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 |
---|---|---|
동작 | 루프를 즉시 종료 | 현재 반복을 건너뛰고 다음 반복으로 이동 |
적용 범위 | 가장 안쪽의 루프만 종료 | 현재 반복만 영향 |
사용 시기 | 특정 조건에서 루프를 완전히 빠져나가야 할 때 | 특정 조건에서 현재 반복을 건너뛰어야 할 때 |
중첩 루프에서의 사용
중첩된 루프에서 break
와 continue
는 가장 안쪽의 루프에만 영향을 미칩니다.
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
가독성:
break
와continue
를 과도하게 사용하면 코드의 흐름을 이해하기 어려워질 수 있습니다. 필요한 경우에만 사용하세요.무한 루프 주의:
while True
와 같은 무한 루프를 사용할 때는 반드시break
조건을 명확히 설정해야 합니다.else 절과의 상호작용:
break
로 루프를 빠져나가면 루프의else
절은 실행되지 않습니다.
for i in range(5):
if i == 3:
break
print(i)
else:
print("루프가 정상적으로 완료되었습니다.")
print("프로그램 종료")
이 코드에서는 break
로 인해 else
절이 실행되지 않습니다.
연습 문제
1부터 100까지의 숫자 중 3의 배수이면서 5의 배수인 첫 번째 숫자를 찾는 프로그램을 작성하세요. (
break
사용)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)
결론
break
와 continue
는 파이썬 반복문을 더 유연하고 효율적으로 제어할 수 있게 해주는 강력한 도구입니다. break
는 루프를 완전히 종료할 때, continue
는 특정 조건에서 현재 반복을 건너뛰고 싶을 때 사용합니다. 이 두 키워드를 적절히 활용하면 더 간결하고 효과적인 코드를 작성할 수 있습니다.
하지만 과도한 사용은 코드의 가독성을 해칠 수 있으므로, 필요한 경우에만 신중하게 사용하는 것이 좋습니다. 연습을 통해 이 도구들을 마스터하면, 여러분의 파이썬 코딩 스킬은 한 단계 더 성장할 것입니다!
해피 코딩! 🐍✨
추가 학습 자료
- Python 공식 문서: break와 continue
- Real Python: Python 'break' and 'continue'
- Python for Beginners: Understanding break and continue
이 포스팅이 여러분의 파이썬 학습에 도움이 되었기를 바랍니다. 궁금한 점이나 추가 설명이 필요한 부분이 있다면 언제든 댓글로 남겨주세요. 함께 성장하는 개발자 커뮤니티를 만들어갑시다!
'Python' 카테고리의 다른 글
[Python] 파이썬 for문 거꾸로 반복하기 (역순) (0) | 2024.07.30 |
---|---|
[Python] 파이썬 문자열 분할 기법: split()과 splitlines() 완벽 가이드 (3) | 2024.07.24 |
[Python] 파이썬 실수와 정수 사용법: float vs int (2) | 2024.07.24 |
파이썬을 이용한 빅데이터 처리와 분석 기법 (0) | 2023.11.29 |
파이썬 함수의 고급 기능: *args와 **kwargs 사용법 (1) | 2023.11.29 |
댓글