大侠们,小弟请教个问题 关于python程序执行流程的问题

众星烁 发布于 2015/04/22 10:42
阅读 221
收藏 0
大侠们,小弟请教个问题 关于python程序执行流程的问题

例子:

rlt= aaa() 

   if rlt==0 :

      rlt==bbb()

      if rlt==0:

         rlt==ccc()


这样我需要嵌套很多层次,看起来以及修改程序上很困难,是否有其他方法可以让程序简洁些呢?

谢谢先
加载中
1
toil
toil

中断式

def foo():
    rlt = aaa() 
    if not rlt:
        return
    rlt = bbb() 
    if not rlt:
        return
    rlt = ccc() 
    if not rlt:
        return
    return rlt



1
H
HenryAY

何不用for-loop?

for each in aaa,bbb,ccc:

    rlt = each()

    if not rlt:

        continue

然後你就get tmp就行啦.

或者你把要執行的function放到一個list/set裡面

下次再要增加的時候只管往list裡塞就行

0
万里谁能驯
万里谁能驯
上面的例子可以写成
if aaa() is 0 and bbb() is 0:
    rlt = ccc()




0
MtrS
MtrS
rlt = aaa()   or  bbb()   or  ccc()  and  NonZero
0
MtrS
MtrS

引用来自“MtrS”的评论

rlt = aaa()   or  bbb()   or  ccc()  and  NonZero
不谢!
众星烁
众星烁
你这个无法达到第一个函数执行完成功 才执行后面的函数,失败则退出,不继续向下个函数执行 吧。
0
MtrS
MtrS

引用来自“MtrS”的评论

rlt = aaa()   or  bbb()   or  ccc()  and  NonZero

引用来自“MtrS”的评论

不谢!
0
MtrS
MtrS

引用来自“MtrS”的评论

rlt = aaa()   or  bbb()   or  ccc()  and  NonZero

引用来自“MtrS”的评论

不谢!

引用来自“MtrS”的评论

@guxingshuo
H
HenryAY
回复 @guxingshuo : 已經連集合的概念都搞混了吧
众星烁
众星烁
如果你其中bbb()返回值是0,最后结果是什么? 你再看看你的程序吧,我不解释or的用法了。
返回顶部
顶部