如何在内部循环得到答案后打破整个嵌套循环


for a in range(1,1000):
for b in range(1,1000):
c2 = a**2 + b**2
c = c2**0.5
if a + b + c == 1000:
answer = a * b * c
print(answer)
break

答案被打印两次,这意味着循环在中断后仍然继续。在得到想要的答案后,如何停止整个循环?

如果您可以将所有代码放在一个函数中,那么当值是内部循环计算的结果时,您可以调用return。它看起来像这样,

def fun():
for a in range(1,1000):
for b in range(1,1000):
c2 = a**2 + b**2
c = c2**0.5
if a + b + c == 1000:
answer = a * b * c
return answer
print(fun())

或者你可以设置一个标志来停止像这样的外循环,

stop_now = False
for a in range(1, 1000):
for b in range(1, 1000):
c2 = a ** 2 + b ** 2
c = c2 ** 0.5
if a + b + c == 1000:
answer = a * b * c
print(answer)
stop_now = True
break
if stop_now:
break

另一种方式:

for a in range(1,1000):
for b in range(1,1000):
c2 = a**2 + b**2
c = c2**0.5
if a + b + c == 1000:
answer = a * b * c
print(a, b, c, answer)
break
else:
continue
break

最新更新