Python break outside loop 오류질문있습니다.
조회수 12449회
count
의 수 만큼 b
에 0
을 제외한 정수들을 출력하고 싶습니다.
그러나 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 답변
-
break
는for
나while
아래에서밖에 못 쓴다고 외우시면 될 것입니다. 그래서 "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)
댓글 입력