我有这段代码,但是当有人键入“早上好”或“早上”时,它会打印“早上好”,但是如果我键入“你好,早上好”,它将不会打印早上好,而是会打印测试。代码:dicmorning = "goodmorning" + "morning"string = raw_input("test: ")if string in dicmorning: print "good morning"else: print "test"我正在尝试使其仅在输入中查找该字符串,如果在该字符串中,则打印“早上好”。很感谢任何形式的帮助。
3 回答

慕田峪9158850
TA贡献1794条经验 获得超7个赞
您需要分别检查输入字符串中的每个标记。一种合理有效的方法可能是创建一组所需的令牌,并将其与输入令牌相交...
dicmorning = {"goodmorning", "morning"}
raw_string = raw_input("test: ")
tokens = raw_string.split()
if dicmorning.intersection(tokens):
print "good morning"
else:
print "test"

缥缈止盈
TA贡献2041条经验 获得超4个赞
我认为它更像是:
dicmorning = ["goodmorning", "morning"]
input_string = raw_input("test: ")
foundstring = False
for i in dicmorning:
if i in input_string:
foundstring = True
break
else:
foundstring = False
if foundstring:
print "good morning"
else:
print "test"
尽管我必须说“减肥”不是一个好名字。
添加回答
举报
0/150
提交
取消