Python 检查用户输入输出中的字符串

Python 检查用户输入输出中的字符串,python,string,user-input,Python,String,User Input,我有这段代码,但它的作用是当有人键入“Goodwooth”或“morning”时,它会打印“Goodwooth”,但如果我键入“hello Goodwooth”,它不会打印“Goodwooth”,它会打印测试。 代码: 我试图让它只在输入中查找那个字符串,如果它在那里,那么它会打印“早上好”。非常感谢您的帮助。您需要分别检查输入字符串中的每个标记。一种合理有效的方法可能是创建一组所需的标记,并将其和输入标记相交 dicmorning = {"goodmorning", "morning"} ra

我有这段代码,但它的作用是当有人键入“Goodwooth”或“morning”时,它会打印“Goodwooth”,但如果我键入“hello Goodwooth”,它不会打印“Goodwooth”,它会打印测试。 代码:


我试图让它只在输入中查找那个字符串,如果它在那里,那么它会打印“早上好”。非常感谢您的帮助。

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

dicmorning = {"goodmorning", "morning"}
raw_string = raw_input("test: ")
tokens = raw_string.split()
if dicmorning.intersection(tokens):
    print "good morning"
else:
    print "test"

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

我认为它更像:

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”不是一个好名字。

如果你不确定为什么有些东西不起作用,试着打印你的变量。另外,不要使用
string
作为变量名,因为它在python中是一个关键字。
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"