Python - 使用字典检查查询并检索答案

时间:2015-12-08 23:00:40

标签: python python-3.x dictionary

所以,根据我的代码部分:

ValidInputs = ['wet', 'water', 'liquid', 'mobile', 'iphone']
root = Tk()
def iphone():
   while True:
     Problem = input('State your problem')
     ProblemSplit = Problem.split(' ')
     if any(Words in ValidInputs for Words in ProblemSplit):
        print('Put your phone in the fridge for about 30 minutes, it will remove the moisture inside of your phone')
        time.sleep(2)

这很有效,但我相信效率低下。正如您可以看到的那样,如果我使用问题变量的输入,并输入“我的手机已经湿了”,它会检测到湿确实在列表ValidInputs中,但是它每次都打印相同的答案/解决方案。因此,如果我在ValidInputs列表中添加了更多可接受的条目,我不希望它始终打印相同的“将手机放入冰箱等等。

那么,我将如何创建一个具有该格式的字典, 查询:解决方案 因此,如果问题拆分中的任何单词都在Query中,则打印解决方案。 有什么建议吗?

我现在已经开始了大约一个小时没有运气,我已经接近了但是到目前为止,如果你通过我自己的研究得到了我的意思,但它已经#39 ; s变得很烦人,所以,

感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

这是我认为您正在寻找的最小范例。

solutions = {'wet' : 'put into microwave', 'ring' : 'hit with hammer', 'battery' : 'more jiggawatts'}

def find_solution():
    problems = input('State your problem: ').lower().split(' ')
    for problem in set(problems):
        if problem in solutions:
            print(solutions[problem])

while True:
    find_solution()