【发布时间】:2012-03-01 23:02:07
【问题描述】:
我有一个函数需要根据输入的查询实例执行查询。 但随着条件的增加,我列出所有这些变得乏味。 例如: 假设我最初有两个条件:
if (cond_1 == True and cond_2 == False):
do something
elif cond_1 == True and cond_2 == True:
do something else
elif cond_1 == False and cond_2 == True:
do this
....
所以我猜如果条件采用二进制值,那么我必须编写 2^n 条语句:(
所以现在我有 3 个条件变量(8 个语句).. 我担心这个数字将来可能会增加。 是否有更好的方法来检查这些条件??
【问题讨论】:
-
如果您想在所有这些情况下做其他事情,那么现在可以为每种情况编写一份声明,对吧?
-
== True和== False几乎总是一个(风格上的)错误。使用cond_1 and not cond_2)等 -
@SvenMarnach:实际上循环内执行的内容略有不同..因为它通常是一个查询..所以如果条件为真..那么它包括查询中的条件值else 将其从查询中排除..(SQL 查询.. Select * from this If cond = this and cond_2 = that.. 所以基本结构有点常见。但基于循环,这些条件被附加
-
您应该举例说明您在个别情况下所做的事情 - 这样做可能会更容易。