[파이썬] 루프와 else 블록의 활용

파이썬은 루프와 else 블록을 함께 사용하여 특정 조건이 충족되지 않았을 때 실행되는 코드를 작성할 수 있습니다. 이 기능을 활용하면 코드의 가독성을 더욱 높이고, 특정 조건에 따른 처리를 더욱 유연하게 구현할 수 있습니다.

while 루프와 else 블록

while 조건:
    # 조건이 참일 때 실행되는 코드
else:
    # 조건이 거짓일 때 실행되는 코드

while 루프와 else 블록을 함께 사용하면, 루프가 정상적으로 종료된 경우에 else 블록의 코드가 실행됩니다. 만약 루프가 break 문을 만나서 중간에 종료되었거나, 조건식이 False로 평가되지 않아 루프가 실행되지 않은 경우에는 else 블록이 실행되지 않습니다.

count = 0
while count < 5:
    print("Count:", count)
    if count == 3:
        break
    count += 1
else:
    print("Loop completed successfully")

# 출력 결과:
# Count: 0
# Count: 1
# Count: 2
# Count: 3

위의 예제에서는 count가 3일 때 break 문을 만나서 루프가 종료됩니다. 따라서 else 블록은 실행되지 않습니다.

for 루프와 else 블록

for 요소 in 시퀀스:
    # 반복 실행되는 코드
else:
    # 루프가 정상적으로 종료된 경우 실행되는 코드

for 루프와 else 블록을 함께 사용하면, 루프가 모든 요소를 반복하고 종료한 경우에 else 블록의 코드가 실행됩니다. 하지만 루프 중간에 break 문을 만나서 종료되는 경우에는 else 블록이 실행되지 않습니다.

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    if fruit == "orange":
        break
else:
    print("No orange found")

# 출력 결과:
# No orange found

위의 예제에서는 fruits 리스트에 “orange” 요소가 없기 때문에 루프가 모든 요소를 반복하고 종료됩니다. 따라서 else 블록이 실행되어 “No orange found”가 출력됩니다.

루프와 else 블록의 활용

루프와 else 블록을 활용하면, 특정 조건에 따라 루프가 정상적으로 종료되었는지를 확인하고 그에 따른 처리를 할 수 있습니다. 이를 효과적으로 활용하면 코드의 가독성을 높일 수 있으며, 조건문의 중첩을 줄여 더욱 유연하고 간결한 코드를 작성할 수 있습니다.

또한, 루프와 else 블록을 함께 사용하여 예외 처리를 할 수도 있습니다. 루프 내에서 예외가 발생하면 루프가 중단되고 else 블록은 실행되지 않습니다. 이를 활용하면 예외 상황을 처리하기 위한 추가적인 코드를 작성할 수 있습니다.