logo

[Python] for 반복문(break, continue 포함)

 

for 반복문의 기본 구조

 

반복문이란 무엇인가?

반복문이란 프로그램 내에서 동일한 블록의 코드를 여러 번 실행하기 위해 사용되는 흐름 제어문입니다. 조건에 따라서 특정 코드 블록을 반복해서 수행할 수 있으며, 데이터 구조(예: 리스트, 튜플, 딕셔너리 등)의 각 요소를 순회하며 작업을 실행할 때에도 주로 사용됩니다. Python에서는 주로 forwhile 반복문을 사용하지만, 여기서는 for 반복문에 대해 자세히 다룰 것입니다.

 

for 반복문의 기본 문법

Python에서 for 반복문의 기본 문법은 다음과 같습니다.

for 변수 in 시퀀스(리스트, 튜플, 딕셔너리 등):
    실행할 명령문

for 반복문은 지정된 시퀀스(예: 리스트, 튜플, 딕셔너리 등)을 순회하며, 시퀀스의 각 요소에 대해 지정된 블록의 명령문을 실행합니다.

 

for 반복문의 사용 예시

리스트에서 for 반복문 활용하기

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)
  • 위 코드는 fruits라는 리스트에 저장된 각 과일의 이름을 출력합니다.
  • fruit 변수는 for 루프가 반복될 때마다 fruits 리스트의 각 요소 값을 순차적으로 받아옵니다.

딕셔너리에서 for 반복문 활용하기

딕셔너리의 키, 값, 키-값 쌍 순회하는 방법에 대해 다루겠습니다.

방법 1: 키 순회하기

person = {"name": "John", "age": 36, "country": "Norway"}
for key in person:
    print(key)
  • 이 코드는 딕셔너리의 키를 순회하고, 각 키를 출력합니다.

방법 2: 값 순회하기

for value in person.values():
    print(value)
  • .values() 메소드를 사용하여 딕셔너리의 각 값을 순회하고 출력합니다.

방법 3: 키-값 쌍 순회하기

for key, value in person.items():
    print(key, value)
  • .items() 메소드를 사용하여 딕셔너리의 키-값 쌍을 순회하며 각 쌍을 출력합니다.

이렇게 Python의 for 반복문을 사용하면 다양한 데이터 구조를 효과적으로 순회하며 원하는 작업을 수행할 수 있습니다.


 

for 반복문에서의 break 사용

for 반복문은 파이썬에서 반복적인 작업을 수행하기 위해 사용되는 기본적인 제어 구조 중 하나입니다. 때로는 특정 조건에 도달했을 때 반복문을 즉시 종료하고 싶은 경우가 있습니다. 이런 경우에 break 문을 사용하게 됩니다.

 

break의 정의와 목적

break는 현재 실행 중인 루프를 즉시 종료시키고 루프 바로 다음에 위치한 코드로 이동시키는 명령입니다. for 반복문 뿐만 아니라 while 반복문 내에서도 사용될 수 있습니다. 주로 조건문과 함께 사용되어, 특정 조건이 만족할 때 루프를 종료하는 데 목적을 둡니다.

 

for 반복문 내에서 break 사용 예시

다음은 for 반복문 내에서 break를 사용한 간단한 예시입니다.

for i in range(10):
    print(i)
    if i == 5:
        break
# 출력:
# 0
# 1
# 2
# 3
# 4
# 5

위 예시에서는 0부터 시작해서 9까지 출력하는 코드를 작성했으나, if i == 5: 조건을 만족하는 순간 break가 실행되어 루프가 즉시 종료됩니다. 결과적으로 5까지만 출력되고 루프가 종료됩니다.

 

break 사용 시 주의사항

break를 사용할 때 주의해야 할 몇 가지 사항이 있습니다.

  1. 루프 종료 후의 코드 실행:

    • break는 해당 루프를 즉시 종료시키고 루프 다음에 위치한 코드를 실행합니다. 따라서 break 후에 실행해야 할 중요한 코드가 있다면 루프 밖에 위치해야 합니다.
  2. 중첩된 루프에서의 break:

    • 중첩된 루프(루프 안에 루프가 있는 경우)에서 break를 사용하면, break가 포함된 가장 내부의 루프만 종료되고 바깥쪽 루프는 계속 실행됩니다. 때로는 이를 통해 원하는 결과를 얻지 못할 수 있으므로 주의가 필요합니다.
  3. 읽기 쉬운 코드:

    • 무분별한 break 사용은 코드의 가독성을 떨어뜨릴 수 있습니다. 가능하면 조건문을 통해 루프의 실행 조건을 명확하게 하는 편이 좋습니다. 그러나 특정 조건에서 즉시 루프를 탈출해야 하는 경우 break는 매우 유용합니다.

break 사용은 파이썬 루프 제어에 있어 매우 유용하지만, 명확한 의도를 가지고 사용되어야 합니다. 루프를 제어하는 다른 방법들(continue, 조건문 등)과 함께 사용될 때, 프로그램의 흐름을 더 효율적으로 관리할 수 있습니다.


 

for 반복문에서의 continue 사용

 

continue의 정의와 목적

continue 문은 Python에서 반복문(여기서는 for 반복문)의 반복을 제어하는 데 사용되는 키워드입니다. continue의 주된 목적은 반복문의 현재 실행을 중지하고, 반복문의 다음 반복으로 즉시 넘어가기 위함입니다. 이를 통해 특정 조건에 대해 반복문 내의 남은 코드를 스킵하고 다음 반복으로 이동하여 더 효율적인 코드 실행을 가능하게 합니다.

 

for 반복문 내에서 continue 사용 예시

for 반복문에서 continue를 사용하는 기본적인 예시는 특정 조건을 만족할 때, 그 조건에 해당하는 요소를 건너뛰고자 할 때입니다. 예를 들어, 리스트 내의 특정 숫자를 제외하고 나머지 숫자에 대해 연산을 수행하고자 할 때 사용할 수 있습니다.

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for num in numbers:
    if num % 2 == 0:  # 짝수인 경우
        continue  # 현재 반복을 건너뛰고 다음 숫자로 넘어간다
    print(f"{num}는 홀수입니다.")

위 코드에서는 리스트 numbers에 있는 각 숫자를 순회하며, 짝수를 만나게 되면 continue를 통해 print() 함수를 실행하지 않고 반복문의 다음 숫자로 넘어갑니다. 따라서 출력 결과는 numbers 리스트의 홀수만을 포함할 것입니다.

 

continue 사용 시 주의사항

continue문을 사용할 때 몇 가지 주의해야 할 사항이 있습니다.

  • 무한 루프의 위험성: continue를 사용하면 반복문의 나머지 부분이 실행되지 않고 다음 반복으로 넘어가게 됩니다. 만약 continue문이 포함된 조건이 항상 참이 되어 반복문의 나머지 부분이 절대 실행되지 않는다면, 이는 프로그램에 무한 루프를 야기할 수 있습니다.

  • 가독성 저하: continue 사용은 코드의 흐름을 끊고 복잡성을 증가시킬 수 있습니다. 따라서 continue의 사용은 필요한 경우에 한해 최소화하고, 대안적인 코드 작성 방식을 고려하는 것이 좋습니다. 예를 들어, 가능하다면 조건을 코드 블록의 시작 부분에 명확하게 배치하여 continue의 사용을 피할 수 있습니다.

continue는 코드 내에서 특정 조건에 대한 반복을 효과적으로 건너뛸 수 있게 해주지만, 코드의 복잡성과 가독성을 고려했을 때 신중하게 사용해야 합니다.


 

for 반복문과 else 블록

for 반복문은 주어진 조건이 만족하는 동안 일련의 명령을 반복적으로 실행하는 하나의 프로그래밍 구성 요소입니다. Python은 다른 프로그래밍 언어와 구별되게 for 반복문에 else 블록을 결합할 수 있는 특이한 기능을 제공합니다. else 블록은 많은 개발자에게 생소할 수 있는 개념입니다. 이 절에서는 else 블록의 용도와 사용 방법에 대해 소개하고 예제를 통해 설명합니다.

 

else 블록의 용도

for 반복문에서 else 블록은 반복문이 완전히 실행된 뒤, 즉 반복문이 중간에 break로 인해 중단되지 않고 모든 반복 작업이 완료되었을 때 실행됩니다. 이는 일종의 "모든 항목이 반복문을 통과한 후에 해야 할 일"을 정의하는 방법으로 생각할 수 있습니다.

 

for 반복문과 else 블록의 결합 예시

아래는 for 반복문과 else 블록을 사용하여 특정 조건을 가진 목록 내의 항목을 검색하는 간단한 예시입니다. 여기서는 리스트 내에 특정 숫자가 있는지 확인하고, 해당 숫자를 찾지 못했을 경우에만 else 블록을 실행합니다.

numbers = [1, 2, 3, 4, 5]

for num in numbers:
    if num == 3:
        print("숫자 3을 찾았습니다!")
        break
else:
    print("리스트 내에 숫자 3이 없습니다.")

# 출력: 숫자 3을 찾았습니다!
 

break 사용 시 else 블록의 동작

위의 예시에서 볼 수 있듯이, 반복문 중에 break가 실행되어 반복문이 중단되면, else 블록은 실행되지 않습니다. breakelse 블록이 실행되는 조건인 "반복문이 완전히 실행되는 것"을 방해하기 때문입니다.

반면 break가 실행되지 않고, 반복문이 정상적으로 끝나면 else 블록이 실행됩니다. 아래의 예시처럼 리스트 내에 찾고자 하는 숫자 6이 없는 경우를 봅시다.

numbers = [1, 2, 3, 4, 5]

for num in numbers:
    if num == 6:
        print("숫자 6을 찾았습니다!")
        break
else:
    print("리스트 내에 숫자 6이 없습니다.")

# 출력: 리스트 내에 숫자 6이 없습니다.

이 경우, break에 해당하는 조건이 만족되지 않아 반복문이 모든 반복을 정상적으로 완료하고 else 블록이 실행됩니다.

for 반복문과 else 블록의 이러한 결합은 조건에 따른 검색 또는 검증 과정에서 유용하게 사용될 수 있습니다.

Previous
세트