0

我有这段代码,但它的作用是当有人输入“早安”或“早安”时,它会打印“早上好”,但如果我输入“你好,早安”,它不会打印早安,它会打印测试。代码:

dicmorning = "goodmorning" + "morning"
string = raw_input("test: ")
if string in dicmorning:
    print "good morning"
else:
    print "test"

我试图让它只在输入中查找该字符串,如果它在那里,那么它会打印“早上好”。很感谢任何形式的帮助。

4

3 回答 3

0

任何原始输入都是字符串,即使输入了数字(例如“2”)

于 2013-06-17T17:06:32.290 回答
0

您需要分别检查输入字符串中的每个标记。一种相当有效的方法可能是创建一组所需的标记,并将其与输入标记相交......

dicmorning = {"goodmorning", "morning"}
raw_string = raw_input("test: ")
tokens = raw_string.split()
if dicmorning.intersection(tokens):
    print "good morning"
else:
    print "test"
于 2013-06-17T16:56:30.080 回答
0

我觉得更像是:

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"

虽然我必须说“dicmorning”不是一个好名字。

于 2013-06-17T17:09:56.183 回答