반응형
def funcA(i):
if i%3==0:
print "Oh! No!",
print i
break
for i in range(100):
funcA(i)
print "Pass",
print i
위의 스크립트가 작동하지 않는다는 것을 알고 있습니다. 그렇다면 break 또는 continue가있는 함수를 루프에 넣어야하는 경우 어떻게 작성할 수 있습니까?
해결 방법
함수는 호출 된 코드에서 중단되거나 계속 될 수 없습니다. break / continue는 문자 그대로 루프 안에 나타나야합니다. 옵션은 다음과 같습니다.
# 3은 다음과 같은 것을 의미합니다.
def gen(base):
for item in base:
if item%3 == 0:
break
yield i
for i in gen(range(1, 100)):
print "Pass," i
이를 통해 조건을 "기본"반복자 (이 경우 범위)를 기반으로 생성기로 그룹화하여 조건을 중단 할 수 있습니다. 그런 다음 범위 자체를 넘지 않고이 생성기를 반복하면 중단 동작이 발생합니다.
참조 페이지 https://stackoverflow.com/questions/13986884
반응형
'파이썬' 카테고리의 다른 글
파이썬 Python-sock.recv를 문자열로 변환 (0) | 2021.01.31 |
---|---|
파이썬에서 클래스의 모든 멤버 변수를 반복 (0) | 2021.01.31 |
파이썬 3D Numpy 배열을 2D로 (0) | 2021.01.31 |
파이썬 전역으로 설치된 패키지를 virtualenv 폴더로 가져 오는 방법 (0) | 2021.01.31 |
파이썬 Python : sys.exit 또는 SystemExit 차이점 및 제안 사용 (0) | 2021.01.31 |
댓글