如果满足其中一个条件,则将变量设置为True

时间:2015-06-28 14:46:50

标签: python

我正在检查一长串条件,每个条件看起来像这样:

s = "string"
match = False

if "x" in s:
   variable = "something"
if "y" in s:
   variable = "something else"
if "z" in s:
   variable = "something something"

如果满足其中任何一个,我想设置match = True。 否则请将其保留在match = False

我不想在每个match = True语句中包含if,因为这样会使代码混乱。

有没有办法简单地将所有这些组合在一起,如果满足任何条件,请设置match = True

2 个答案:

答案 0 :(得分:4)

将匹配初始化为true,并在else语句中将其更改为false

s = "string"
match = True

if "z" in s:
   variable = "something something"
elif "y" in s:
   variable = "something else"
elif "x" in s:
   variable = "something"
else:
   match=False

因为在某些情况下你的所有情况都可以是真的,所以改变if语句的顺序,将它转换为elif仍具有相同的逻辑

答案 1 :(得分:0)

这是您的问题的简单黑客 列出具有条件的元组并检查天气真实是否存在 并据此做 例如: a = 1,2,3,4 条件=(1 in a,5 in a,3 in a .....)//这里的编号包含系列
                                          的真或假值                                            然后检查 match = true如果条件为True