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
答案被打印两次,这意味着循环在中断后仍会继续。得到所需答案后,如何停止整个循环?
您需要像else
那样使用for
:
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
#add these two lines
else:
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
或者您可以设置一个标志来停止外部循环,
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