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,我需要它打印出两个解决方案,因为现在它只打印出一个,我甚至不知道如何开始。