只有当while
控制返回给它时,循环才会匹配条件,即当for
循环完全执行时。因此,这就是为什么即使满足条件,您的程序也不会立即退出的原因。
但是,如果,的任何值都不满足条件a
,那么您的代码将最终陷入无限循环。b
c
您应该在此处使用函数,因为该return
语句将执行您的要求。
def func(a,b,c):
for a in range(3,500):
for b in range(a+1,500):
c = (a**2 + b**2)**0.5
if a + b + c == 1000:
print a, b, c
print a*b*c
return # causes your function to exit, and return a value to caller
func(3,4,5)
除了@Sukrit Kalra 的回答sys.exit()
之外,如果您的程序在该代码块之后没有任何代码,您也可以使用退出标志。
import sys
a = 3
b = 4
c = 5
for a in range(3,500):
for b in range(a+1,500):
c = (a**2 + b**2)**0.5
if a + b + c == 1000:
print a, b, c
print a*b*c
sys.exit() #stops the script
帮助sys.exit
:
>>> print sys.exit.__doc__
exit([status])
Exit the interpreter by raising SystemExit(status).
If the status is omitted or None, it defaults to zero (i.e., success).
If the status is numeric, it will be used as the system exit status.
If it is another kind of object, it will be printed and the system
exit status will be one (i.e., failure).