我想在一行
中为一个语句添加多个字符串:input = str(raw_input(''))
if str('a') or ('b') or ('c') in str(input):
print "a string"
else:
print "no"
是否可以为单个 语句中包含多个字符串?
答案 0 :(得分:6)
首先str('a') == 'a'
(因为'a'
已经是一个字符串),所以你可以把它留下来。
'a' or 'b' or 'c' in input
此表达式解析如下:
('a') or ('b') or ('c' in input)
所以你要检查'a'
或'b'
是否真实,这是真的。如果要使用in
运算符进行全部检查,则必须明确指定:
'a' in input or 'b' in input or 'c' in input
您还可以简化:
any(x in input for x in ('a', 'b', 'c'))
答案 1 :(得分:3)
确实如此,但你写的东西完全不同。它检查str('a')
是否真实,'b'
是否真实,或'c'
是否在input
。虽然Python非常易读,但它并不假设您编写的内容。你必须明确:
if 'a' in input or 'b' in input or 'c' in input:
...
或者:
strings = ('a', 'b', 'c')
if any(s in input for s in strings):
...
使用字符串参数调用str()
毫无意义。此外,input
是内置的名称,因此我建议您重命名变量。