Octoping의 블로그
Published 2022. 6. 20. 09:47
for else 구문 언어/Python

for문을 돌다가 중간에 break로 반복문을 빠져나오는 기능을 사용하는 일은 종종 있다.

그런데 다른 언어에서는 이게 반복문이 다 끝나서 빠져나온건지, 중간에 break를 통해 빠져나온 건지 확인하는 일이 은근 귀찮은데 반해 Python에서는 for-else 구문으로 쉽게 확인할 수 있다.

 

 

for-else 구문이란?
반복문이 중간에 break 당하는 일 없이 끝까지 도는 데에 성공했을 경우 else 구문 안에 있는 내용을 실행한다.
def printNums(num):
    for i in range(num):
        print(i, end=' ')
        if i > 4:
            break
    else:
        print("[Not breaked!]")


# output: 0 1 2 3 4 5
printNums(10)
# output: 0 1 2 [Not breaked!]
printNums(3)

 

 

그리고 참고 겸으로 다른 언어(C)로 구현했을 경우의 코드도 같이 첨부한다.

// flag 값을 하나 생성하여 그 값으로 판단하기
void printNums(int num) {
    int isBreaked = 0;
    for(int i = 0; i < num; ++i) {
        printf("%d ", i);
        if(i > 4) {
            isBreaked = 1;
            break;
        }
    }
    if(!isBreaked) {
        printf("[Not breaked!]");
    }
}

// 반복문을 도는 i 값으로 판단하기 (비추천)
void printNums2(int num) {
    int i;
    for(i = 0; i < num; ++i) {
        printf("%d ", i);
        if(i > 4) break;
    }
    if(i == num) {
        printf("[Not breaked!]");
    }
}

'언어 > Python' 카테고리의 다른 글

readline으로 파일 끝까지 읽기  (0) 2022.06.18
profile

Octoping의 블로그

@Octoping

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!