• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

강의 for구문(2-2) 질문입니다~

21.03.13 19:31 작성 조회수 168

0

break와 continue에서

break를 할 경우 print문이 들여쓰기가 되어있고

continue는 print문이 들여쓰기가 안되어있는데

원래 이렇게 사용하는건지 궁금합니다~

답변 4

·

답변을 작성해보세요.

0

haon님의 프로필

haon

2021.03.24

Not found :  14 #break
Not found :  3
Not found :  4
Not found :  7
Not found :  10
Not found :  24
Not found :  17
Not found :  2
Not found :  33
Not found :  15
Found : 34!

current type: 1 <class 'str'> #continue
current type: 2 <class 'int'>
current type: 5 <class 'int'>
current type: 4.3 <class 'float'>
current type: (4+0j) <class 'complex'>

결과를 비교해보면 break코드는 "조건이 맞을때까지만 출력(반복)하기"

라서 'Found : 34!'를 출력한다음에 break를 했지만

continue코드는 "조건이 맞을때는 다음for문으로 넘어가기"

라서 조건이 맞지않은경우(bool가 아닌경우)만 실행됐습니다.

0

haon님의 프로필

haon

2021.03.24

lt = ["1", 2, 5, True, 4.3, complex(4)] #오른쪽부터 순서대로 str, int, int, bool, float, complex형태입니다.

for v in lt: #break코드와 같이 lt요소를 v안에 넣고 요소개수만큼 반복합니다.(최대6번)
    if type(v) is bool: #만약 v의 타입이 bool(Ture 또는 False)라면
        continue #continue라서 종료가 아니라 넘어갑니다.
    print("current type:", v, type(v)) #문장 + 요소 + 형태를 출력합니다.

안녕하세요. 이 continue코드는 무었을 출력하고싶을까요?

정답은 v가 bool(True 또는 False)인경우를 빼고 모두 출력하고십습니다.

"...인경우를 빼고"의 뜻은 실제로는 넘어간다는뜻입니다.

0

haon님의 프로필

haon

2021.03.24

numbers = [14, 3, 4, 7, 10, 24, 17, 2, 33, 15, 34, 36, 38] #리스트

for num in numbers: #num안에 numbers리스트를 넣고 요소개수만큼반복하기
    if num == 34: #만약 num이 34라면
        print('Found : 34!') #출력
        break #반복문 종료
    else: #아니면 (num이 34가 아니면)
        print('Not found : ', num) #출력

안녕하세요. 이 break코드는 무었을 출력하고 싶을까요?

정답은 계속 number안의 요소를 출력하면서 조건이 맞으면 반복종료하고싶습니다.

반복종료하는 경우는 두가지있는데

첫번째는 numbers리스트의 요소를 모두num안에 넣었을때입니다.(13개 있기때문에 최대 13번반복)

두번째는 num이 34일때입니다.

이 코드의 경우는 numbers안에 34가 있으니까 두번째조건때문에 종료됩니다.

0

안뇽하세요.

print문의 들여쓰기는 break 문과 continue 구문 사용에 영향을 끼치는 것은 없습니다.

들여쓰기가 되어 있는 것은 반복해서 출력하기 위해서 한 것입니다.