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 |
---|