检查多个条件时,Python避免嵌套

Lexa Vey

我有这个python条件

a=a_foo()
if a==True:
  b=b_foo():
    if b==True:
      c=c_foo()
      if c==True:
         d=d_foo()
      else:
        print('c error')
    else:
      print('b error')
  else:
    print('a error')

代码正在工作,但是如果我将此条件用于az,则代码似乎不好。

有什么更好的解决方案?

编辑:

感谢您的评论,我将if a代替if a == True

a_foo, b_foo, c_foo函数仅仅是示例,可以是function1,func2,funcother,etc

最后,函数也有参数,例如 a_foo(p1, p2)

夸兰纳

您只需要列出要调用的功能。但是,您将需要某种方法来识别哪个功能失败:

funcs = [a_foo,b_foo,c_foo,d_foo]   # add more functions as required

for f in funcs:
   if not f():
        print(f.__name__, "error")
        break

如果每个函数都希望有不同的参数集:

funcs = [(a_foo,),(b_foo,b),(c_foo,c,d),(d_foo,d,e,f)]   # add more functions as required

for f,*args in funcs:
   if not f(*args):
        print(f.__name__, "error")
        break

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

避免类似条件的检查条件

如何避免嵌套的空检查

在Python中使用多个文件时如何避免嵌套的“ with”语句

Python:避免使用多个嵌套的for循环迭代字符串

在python中检查多个条件

Groovy MockFor:使用多个模拟时如何避免嵌套闭包?

多个条件检查以避免在twoSum解决方案中重复

Python在根据不同条件分配和绘制颜色时避免使用多个if语句

在使用多个因素折叠data.frame中的变量时避免嵌套嵌套

在Python中比较对象时避免嵌套循环

多个if条件,无嵌套

避免嵌套条件

列表推导中的嵌套循环和条件检查(python)

避免在使用非Equi连接条件时使用嵌套循环连接

在使用python的嵌套for循环中使用“和”逻辑时,如何使用多个if else条件

避免在R中嵌套for循环,在多个条件下跨多个数据帧进行匹配

在Codeigniter中有多个条件联接时如何避免出现“`”?

在使用多个Option和Eithers时避免嵌套的If

检查多个条件 ngIf

Kotlin - 使用 ION 获取多个 JSON 文件时避免嵌套回调

检查多个条件的约束

getElementById 检查多个条件

避免多个嵌套的 for 循环

熊猫检查多个条件

当要检查的条件在 if 块内解除分配时,如何避免重复检查 if 语句?

条件匹配时更新嵌套数组中的多个项目

在检查多个列表和限制python中的结果时避免if条件

检查多个“OR”条件时,laravel IF 语句出现问题

从 Task.WhenAll() 等待的任务分配时避免检查条件两次