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라는 결과가 나옵니다.
그럼 좋은 저녁 되세요 ^-^
!-->!-->!-->
답변을 작성하시기 전에 로그인 해주세요.