테스트 사이트 - 개발 중인 베타 버전입니다

Python break문 질문 채택완료

써근토마토 4년 전 조회 2,146

while statement1:

    if statement2:

        break

 

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

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

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
I
4년 전

안녕하세요?

 

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

 

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

 

 

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

 

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

 

</p>

<p>for x in range(10):

    for y in range(20):

        if y >= 15:

            break

print(x, y)</p>

<p>

 

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

 

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

 

 

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

 

</p>

<p>check = False

for x in range(10):

    for y in range(20):

        if y == 15:

            check = True

            break

    if check:

        break</p>

<p>print(x, y)</p>

<p>

 

결과는 0 15로 나옵니다.

 

 

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

 

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

 

</p>

<p>def foo():

    for x in range(10):

        for y in range(20):

            if y >= 15:

                return x, y

print(foo())</p>

<p>

 

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

 

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

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

써근토마토
4년 전
정말 감사합니다!!
써근토마토
4년 전
지금 다른거 과제하는데 막혔는데 이거 보고 또다시 도움 얻어갑니다.... 정말 담사해요ㅠ!
I
Innisfree
4년 전
별말씀을요~ ^-^ 과제 홧팅하시고 굿밤 되세요 :)

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인