while
휴식하지 않을 때 내가 루프에서> 10 :파이썬에서 내부 for 루프에서 while 루프를 깨는 방법?
i = 0
x = 100
while i<=10:
for a in xrange(1, x+1):
print "ok"
i+=1
하고 "ok"
100 회 인쇄합니다. 루프를 깨는 방법 while
i
에 도달하면 루프가 for
루프?
while
휴식하지 않을 때 내가 루프에서> 10 :파이썬에서 내부 for 루프에서 while 루프를 깨는 방법?
i = 0
x = 100
while i<=10:
for a in xrange(1, x+1):
print "ok"
i+=1
하고 "ok"
100 회 인쇄합니다. 루프를 깨는 방법 while
i
에 도달하면 루프가 for
루프?
내부 루프가 "반환"될 때까지 외부 루프의 조건은 다시 검사되지 않습니다. 당신이 i
변경 후마다 일이이 검사를 필요로하는 경우, 대신에이 작업을 수행 :
while i<=10:
for a in xrange(1, x+1):
print "ok"
i+=1
if i > 10:
break
break
그것은 단지 내부 루프를 종료하지만, 외부 루프 조건이 False
로 평가하기 때문에, 너무 그것을 종료됩니다.
for 루프 뒤에 아무 것도 추가하지 말거나 내부 루프가 끊어진 후에 실행되도록하십시오. –
@Matt Briançon 예 ?? 'for'는 휴식을 취하는대로 곧 깨질 것이라고 생각 했나요? – alwbtc
@alwbtc'while'은 다음 중 하나가 발생하지 않으면 중단되지 않습니다 : a) 몸체에있는 동안 'break'를 호출합니다 (엄격히 말하면 몸체가 아니라 내부의 루프 안에 있음). b) 본문이 실행을 끝내고 조건이 '거짓'으로 평가됩니다. c) 본문에있는 동안 (계속해서) '계속'이라고 부르면 조건은 '거짓'으로 평가됩니다. – mgibsonbr
i = 0
x = 100
def do_my_loops():
while i<=10:
for a in xrange(1, x+1):
print "ok"
i+=1
if time_to_break:
return
do_my_loops()
여기서 time_to_break
은 확인중인 상태입니다.
또는 일반적으로
:def loop_container():
outer_loop:
inner_loop:
if done:
return
loop_container()
문제는 외부 루프의 조건이 내부 루프가 완료 될 때까지 확인되지 않을 것입니다 - 그리고이 시점에서 i
내 관점에서 이미 100입니다, 올바른 방법 i
은 10
for a in xrange(1, x+1):
if i < 10:
print "ok"
i+=1
else:
break
에 도달했을 때 당신이하는 동안 외부 루프를 중단 할 이유는 '다른 이유가있는 경우이를 작성하고 얻기 위해 원하는 출력을 내부 루프 내부의 경비를 넣어 파괴하는 것입니다 안쪽 루프 안쪽에 당신이 그것을 더 잘 이해하기 위해 세부 사항에 우리를 들여 보내 주시겠습니까?
그냥 함수에 넣고 내부 루프에서 돌아옵니다. – sshannin
<= 대신 <=를 사용하는 이유는 무엇입니까? 이것은 오타입니까? 아니면이 기능이 있습니까? –
아니요 오타입니다. – alwbtc