【发布时间】:2014-06-07 10:45:54
【问题描述】:
好的,我有一个像这样的文件。
panite,1,1800
ruby,2,100
diamond,0.75,900
emerald,3,250
amethyst,2,50
opal,1,300
sapphire,0.5,750
benitoite,1,2000
malachite,1,60
我们的老师给了我们使用 try/except 的代码来帮助我们打开文件。我需要打开文件并读取每一行并使每一行成为一个元组,然后将其放入一个列表中。该列表应该是最后一个数字除以中间数字,然后是该值后跟宝石名称(中间数字是宝石的克拉)。我遇到的问题是我什至不能让它从文件中列出。这是我试图打开它但没有成功的东西。
def main():
fileFound = False
while not fileFound:
fileName = input('File name containing jewel data: ')
try:
dataFile = open(fileName, "r")
fileFound = True
knapsack()
except:
print ('Could not find that file -- try again')
def knapsack():
list = dataFile.readline()
当我将它更改为 def knapsack() 下的简单打印语句时,我实际上已经取得了一点成功,它会打印一些简单的东西,比如 2+2,但是当我尝试制作一个列表时,它给了我除了错误反而。这是我的第一个编程课程,因此我们将不胜感激。
【问题讨论】:
-
谢谢,我在发布后注意到了,但在我弄清楚之前你已经为我修好了。谢谢!
-
尝试列表 = dataFile.readlines()。 readline() 只返回一行; readlines() 返回行列表。
标签: python tuples knapsack-problem