我的代码:
infile = open("pa6numbers.py","r")
num = eval(infile.readline())
Boston = infile
sum = 0
infant = 0
elder = 0
pneumonia = 0
while num != -1:
if num != -1:
sum +=int(num)
elif num < 1:
infant=+1
elif num > 65:
elder += 1
else:
pneumonia+=1
num = eval(infile.realine())
infile.close()
这是回溯:
^{pr2}$当我运行我的程序时,它告诉我“NameError:name‘Boston’is not defined’”。在我正在阅读的文件中,我的任务是打印出各州以及婴儿、老年人和气喘症的死亡率。所以我想知道如何从文件中读出名字。在
请不要太复杂,因为我在CMPS150上,教授不想让我们在课堂上领先。在
我正在阅读的文件开头部分:
Boston, MA
509953
41145
20577
309257
Bridgeport, CT
113119
8921
2546
78218
通过使用
eval
,您假设数据文件的内容是有效的Python,而不是。在如果我们尝试在交互式Python会话中计算第一行,请观察会发生什么:
如何将数据
^{pr2}$read()
转换为字符串,然后使用该字符串的splitlines()
方法。根据您显示的输入文件片段,您将得到如下字符串列表。(下面的示例是从名为IPython的交互式Python环境中粘贴的,请查看。)您可以将其转换为一个可用的数据结构,并使用字典理解功能,如下所示:
^{3}$这个理解相当于以下嵌套的
for
-循环:现在可以按城市索引这些数据:
或者迭代键和值:
这个问题在目前的情况下是不可能回答的。我已经复制了你的代码,并阅读了你的评论。我已经在pa6的第一行中加入了数字.py把“波士顿”这个词归档。你的错误在我的系统上被复制了,但它并没有在pa6.py文件中引用Boston,而是在pa6中引用了Boston数字.py未定义文件。如果你想解析这个文件,你需要把它变成纯文本。不是PY文件。这是我在自动取款机上看到的一个错误。波士顿在你的pa6里数字.py文件是一个变量,但它的定义并不是我根据收集到的上下文线索可以判断出来的。没有你的实际档案,这是最好的教育猜测,任何人都可以在这一点上。我有一种感觉,我可能是正确的假设这就是文件的设置方式。在
既然如此,pa6.py文件的第20行也有一个打字错误。在
这应该是
^{pr2}$你有真实感。请将您正在解析的文件发布为纯文本,我们可以给您一个更好的答案。在
相关问题 更多 >
编程相关推荐