Python break outside loop 오류질문있습니다.

조회수 12449회

count의 수 만큼 b0을 제외한 정수들을 출력하고 싶습니다.
그러나 sys.exit(0) 자리에 break를 넣게 되면 break outside loop라는 에러가 출력되서...
어떻게 하면 break를 사용하고 해결할 수 있는지 알고 싶습니다.

import sys

count=int(input())
b=input().split()

if count<len(b):
    sys.exit(0)

for n in b:
    if int(n)==0:
        break
    else:
        print(n)

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

    breakforwhile 아래에서밖에 못 쓴다고 외우시면 될 것입니다. 그래서 "break outside loop"가 오류인 겁니다.


    일단 다음 코드는 동작합니다.

    count = int(input('count = '))
    b = input('b = ') # split() 할필요 없음
    
    if count >= len(b):
        for n in b: # 여기서 b가 문자열일 경우, n은 문자 하나하나가 됨
            if n != '0':
                print(n)
    

    하지만 count < len(b)일 때 중단하는 처리가 필요하다면, 적당히 함수로 감싸서 쓰시면 됩니다.

    def printAnythingButZero(count, b):
        if count < len(b):
            return False
        else:
            for n in b:
                if n != '0':
                    print(n)
            return True
    
    count = int(input('count = '))
    b = input('b = ')
    printAnythingButZero(count, b)
    
    • 도움을 주셔서 감사합니다.^^ 김준호 2020.5.7 22:06

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

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)