我正在检查一长串条件,每个条件看起来像这样:
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
?
答案 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