我正在努力做一个审查员.而不是做
if curseword in typed or curseword2 in typed or curseword3 typed: print "No cursing! It's not nice!"
我想这样做,以便我可以有一个包含所有单词的列表,并且可以检查这些单词是否在列表中.注意:如果你使用"if any ..."代码,使用while循环,它有太多的输出要处理.
你可以使用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的新手,Python文档有一个很好的教程.)
如果你只是想在不弄乱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'