Python 如何添加两个解决方案

Python 如何添加两个解决方案,python,Python,这段代码可以工作,但我希望它能从一个文本文件中打印出两个解决方案。问题包括试图打印文本文件中的两行,当关键字与一起使用时,如果'word'==something,则打印,我想打印两行。任何帮助都将不胜感激。我试过各种不同的东西 problem = False while problem == False: foo = open("solutions.txt","r") print("What is wrong with your device?") issue=i

这段代码可以工作,但我希望它能从一个文本文件中打印出两个解决方案。问题包括试图打印文本文件中的两行,当关键字与
一起使用时,如果'word'==something,则打印
,我想打印两行。任何帮助都将不胜感激。我试过各种不同的东西

problem = False

while problem == False:

    foo = open("solutions.txt","r")

    print("What is wrong with your device?")

    issue=input()

    if (('wet' in issue) or ('water' in issue)):
        solutions = foo.readlines()
        print(solutions[0])
        problem = True

    if (('cracked' in issue) or ('dropped' in issue)):
        solutions = foo.readlines()
        print(solutions[1])
        problem = True

如果解决方案总是固定的,则应将文件打开和读取移动到循环之外。关键字和解决方案索引之间的匹配可以通过字典完成

problem = False

foo = open("solutions.txt","r")
solutions = foo.readlines()

Problemlistdict = {'wet':0, 'water':0, 'dropped':1, 'sim card':2} #etc..etc

while problem == False:

    print("What is wrong with your device?")

    issue=input()

    sol = set()

    for k in Problemlistdict.keys():
        if k in issue:
            sol.add(Problemlistdict[k])

结果将是一个集合sol,包含所有相关解决方案行的索引。

将停止索引添加到您的行选择中:

solutions[0:1]
将返回文件的前两行,而不仅仅是第一行

或对于两条不紧跟在一起的线,请执行以下操作:

解决方案[2]+解决方案[7]

请参见F.Lundbergh中的“”作为解释这一点的无休止Python文档的任意示例

此外,如果在用户输入中未发现您选择的问题,您可以将第一个问题之后的每个
if
更改为
elif
,并添加一个
else


建议将
一起使用,而不是使用
打开
,以确保文件正确关闭。如果您使用Python<2.7并且必须使用
打开
,请不要忘记再次关闭

请将代码作为文本发布!我不确定我是否明白你在找什么。你能举个具体的例子吗?当问题被“粉碎”时,是否要打印解决方案[3]两次或打印解决方案[3]和其他内容?举个例子?比如说,如果我说cracked and drop,我需要它打印出两个解决方案,因为现在它只打印出一个,我甚至不知道如何开始。