如果" val"我想做点什么是" a"或" as"或者" asd" 我写这个:
if val == "a" or val == "as" or val == "asd":
print("aaa")
但是,有什么方法可以写出" val"曾经?,像这样:
if val == "a" or "as" or "asd":
print("aaa")
如果我写下来," if",总是如此:
val=123
if val == "a" or "as" or "asd":
print("aaa")
和控制台打印" aaa"
如果我写这个:
val="as"
if val == ("a" or "as" or "asd"):
print("aaa")
控制台什么都不打印 只有当val ==" a",第一个
时,if才为真我不想写" val =="对于" val" ...
的每个可能的1000个结果答案 0 :(得分:1)
最简单的方法是:
if val in ("a", "as", "asd"):
print("aaa")
这个不起作用:
val = 123
if val == "a" or "as" or "asd":
print("aaa")
因为它与写作相同:
if (val == "a") or "as" or "asd":
print("aaa")
在这种情况下,“or
”中的第一个表达式为(val == "aa")
,为False,但第二个表达式为"as"
,这不是假的。这意味着整个表达式的计算结果为真,因此打印"aaa"
。
这个不起作用:
if val == ("a" or "as" or "asd"):
print("aaa")
因为“or
”的性质。表达式"a" or "as" or "asd"
的计算结果为"a"
,因为它是表达式中的第一个非假值,因此它与说法相同:
if val == "a":
print "aaa"
答案 1 :(得分:1)
这是一种pythonic方式;
if val in ['a','as','asd']:
print("aaa")