我正在努力做一名检查员。而不是做
bars
我想这样做,以便我可以有一个包含所有单词的列表,并且可以检查这些单词是否在列表中。注意:如果你使用"如果有的话......"代码,有一个while循环,它有太多的输出要处理。
答案 0 :(得分:14)
您可以使用any
加上生成器:
cursewords = ['javascript', 'php', 'windows']
if any(curseword in input for curseword in cursewords):
print 'onoes'
或者,为了更灵活一点,一个正则表达式(如果你想做像检测大写诅咒词这样的东西):
if re.search(r'javascript|php|windows', input, re.IGNORECASE):
print 'onoes'
(如果您是regex的新手,the Python docs have got a nice tutorial。)
如果你只想忽略大小写而不搞乱regexen,你也可以这样做:
# make sure these are all lowercase
cursewords = ['javascript', 'php', 'windows']
input_lower = input.lower()
if any(curseword in input_lower for curseword in cursewords):
print 'onoes'
答案 1 :(得分:1)
在输入上使用for循环并检查每个单词以查看它是否在诅咒词列表中。
cursewordList = ['a','b' ...]
for word in input:
if word in cursewordList:
print "No cursing! It's not nice!"
答案 2 :(得分:0)
使用,过滤内置方法:
>>>test = ['ONE', 'TWO', 'THREE', 'FOUR']
>>>input = 'TWO'
>>> if filter(lambda s: s in input, test):
print 'OK'
OK
>>> input = 'FIVE'
>>>
>>> if filter(lambda s: s in input, test):
print 'OK'
>>> #nothing printed