匹配python中的单词

时间:2017-02-20 12:02:22

标签: python string match

您好我在这里有一个关于在疑难解答问题程序中查找单词的问题。如何在输出答案之前添加一个能够检查关键词问题的组件?

print ("Introduction Text")
print ("Explanation of how to answer questions")
Q1 = input ("Is your phone Android or Windows?")
if Q1 == "yes":
    print ("go to manufacturer")
if Q1 == "no":
    print ("next question")
Q2 = input ("Is your screen cracked or broken?")
if Q2 == "yes":
    print ("Replace Screen")
if Q1 == "no":
    print ("next question")
Q3 = input ("Does the handset volume turn up and down?") 
if Q1 == "no":
    print ("replace Hardware")
    print ("contact Manufacturer")
if Q1 == "yes":
    print ("next question")

1 个答案:

答案 0 :(得分:0)

Python strings有一些有用的方法,比如find,可以让你搜索字符串。还有regular expression库,它允许更复杂的字符串搜索。但是,您可以执行的是in来执行子字符串搜索。以您的第一个问题为例,我们可以检查用户是否回答了#34;是",以及电话类型是否为" Android"通过使用以下内容:

>>> answer = input("Is your phone Android or Windows?")
Is your phone Android or Windows?"Yes android"
>>> if "yes" in answer.lower():
...     if "android" in answer.lower():
...             print "What android..."
... 
What android...

如果您已获得手机类型列表(Windows,Android),则可以循环显示该列表,并检查字符串中是否存在any项,或者您可以使用列表理解使其变得非常简单:

>>> answer = input("Is your phone Android or Windows?")
Is your phone Android or Windows?"Yes, I've got a Windows and Android phone..."
>>> matching = [s for s in phone_types if s in answer.lower()]
>>> print matching
['windows', 'android']

您要添加的内容取决于您要搜索的列表等内容。因此,根据您的实际需要,您可能需要在问题中添加更多信息。