您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Python中循环退出

5b51 2022/1/14 8:22:37 python 字数 2465 阅读 534 来源 www.jb51.cc/python

在下面的代码中,我希望while循环在b c = 1000时立即退出.但是,使用print语句进行测试表明它只会持续到for循环完成.我尝试过True,然后在if语句中设置False,但这导致无限循环.我认为使用x = 0然后设置x = 1可能会起作用,但这也只是运行直到for循环结束.什么是最优雅,最快速的退出方式?谢谢. a = 3 b = 4 c = 5 x = 0 while x != 1

概述

a = 3
b = 4
c = 5
x = 0
while x != 1:
    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
                x = 1

但是,如果a,c的任何值都没有满足条件,那么你的代码将以无限循环结束.

你应该在这里使用一个函数,因为return语句可以满足你的要求.

def func(a,c):
    for a in range(3,c
                print a*b*c
                return # causes your function to exit,and return a value to caller

func(3,4,5)

除了@Sukrit Kalra的answer之外,他还使用了退出标志,如果你的程序在该代码块之后没有任何代码,你也可以使用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,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).

总结

以上是编程之家为你收集整理的在Python中循环退出全部内容,希望文章能够帮你解决在Python中循环退出所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶