Python break문 질문

Python break문 질문

QA

Python break문 질문

본문

while statement1:

    if statement2:

        break

 

라면 break는 break가 포함되어있는 그 단락 의 가장 앞에 있는 반복문을 깨는것인가요,

아니면 제일 바깥쪽의 반복문을 깨는 것인가요?

이 질문에 댓글 쓰기 :

답변 1

안녕하세요?

 

질문하신 취지를 제가 정확히 이해했는지 모르겠지만

 

궁금하신 부분이 이중 반복문에서 break를 사용하면 둘 중 어느 것을 break 하는지에 대한 것인지요?

 

 

파이썬에서는 break가 포함된 해당 반복문만 break 되며,

 

반복문에서 여러 개의 루프를 동시에 탈출할 수 있는 직접적인 명령어는 없습니다.

 


for x in range(10):
    for y in range(20):
        if y >= 15:
            break
print(x, y)

 

위 코드를 실행시켜보면 y에 대한 for 문에 break가 걸린 후에도

 

x에 대한 for 문이 계속 반복되기 때문에 결국 9 15라는 결과가 나옵니다.

 

 

한편 다음과 같은 방법으로 이중 for 문을 모두 break할 수 있습니다.

 


check = False
for x in range(10):
    for y in range(20):
        if y == 15:
            check = True
            break
    if check:
        break
print(x, y)

 

결과는 0 15로 나옵니다.

 

 

반면 함수에서의 return은 함수 자체를 중단시키기 때문에

 

이를 활용하면 보다 심플하게 작성할 수 있습니다 ^^

 


def foo():
    for x in range(10):
        for y in range(20):
            if y >= 15:
                return x, y
print(foo())

 

마찬가지로 0 15라는 결과가 나옵니다.

 

그럼 좋은 저녁 되세요 ^-^

 

답변을 작성하시기 전에 로그인 해주세요.
전체 123,673 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT