问题如下:“编写一个Python程序来读取包含湖泊和鱼类数据的文件,并设置报告 湖泊识别号、湖泊名称和鱼类重量以表格形式显示(使用 带格式的字符串区域)。程序应该计算鱼的平均重量 已报告。”
湖泊识别
1000 Chemo
1100 Greene
1200 Toddy
“我必须读的文件”FishWeights.txt文件“包含以下数据
1000 4.0
1100 2.0
1200 1.5
1000 2.0
1000 2.2
1100 1.9
1200 2.8
我的代码
f = open("fishweights.txt")
print(f.read(4), "Chemo", f.readline(4))
print(f.read(5), "Greene", f.read(5))
print(f.read(4), "Toddy", f.read(5))
print(f.read(5), "Chemo", f.read(4))
print(f.read(5), "Chemo", f.read(4))
print(f.read(5), "Greene", f.read(4))
print(f.read(5), "Toddy", f.read(4))
我收到的输出是
1000 Chemo 4.0
1100 Greene 2.0
1200 Toddy 1.5
1000 Chemo 2.0
1000 Chemo 2.2
1100 Greene 1.9
1200 Toddy 2.8
这是正确的程度,我必须有湖的身份证号码,名称和每湖鱼的重量显示。但我需要有一个计算方法,它能计算出最后所有鱼的重量的平均值。 输出格式应整齐,如下所示
1000 Chemo 4.0
1100 Greene 2.0
1200 Toddy 1.5
1000 Chemo 2.0
1000 Chemo 2.2
1100 Greene 1.9
1200 Toddy 2.8
The average fish weight is: 2.34
任何帮助是感激的,只是一个初学者在这里寻求帮助有一个完整的主题理解。谢谢您!你知道吗
所以你可以把鱼的重量和湖的数据存储在两个数组中。请参见下面的内容,其中它读取每一行,然后将它们拆分为鱼的重量列表和湖泊数据列表。你知道吗
从这里你可以输出信息
你可以计算出你的平均数
你可以把你的湖名储存在字典里,把你的数据储存在一个列表里。在这个示例中,您只需在列表
fish
中循环,并获得与id
对应的湖名称。最后,只需将列表中的weight
相加,然后除以fish
的长度,就可以打印出下面的平均值。你知道吗还鼓励您使用
with open(..)
上下文管理器,确保文件退出时关闭。你知道吗是的,你需要绕线。这是您要查找的结构:
现在为了检索每一行的每一部分,您可以使用
line.split()
。如果id的长度是固定的,那么读取固定数量的字节(正如您所做的)是很好的。你确定每个id都有4位数字吗?这样可能更好:既然有了原始数据,就需要对其进行聚合:
或一个班轮
最后,您需要将ID映射到名称,以便最终打印:
当然,所有三个循环都可以组合成一个循环。我将其划分,以便您可以清楚地看到代码的每个阶段。最终结果(稍微优化)可能如下所示:
相关问题 更多 >
编程相关推荐