2024-06-25 23:46:20 发布
网友
我正在阅读一个.txt文件,每个人有四个分数,我需要找出如何从每一行的分数,并找到每个人的平均数。在
s={} results= open("surf.txt") for line in results: (s['Name'], s['scoreOne'], s['scoreTwo'], s['scoreThree'], s['scoreFour']) =line.split(";")
这似乎是解决这个问题所需的所有代码。在
在冲浪.txt包含:
您可以使用[1:]对结果列表进行切片
[1:]
for line in results: scores = line.split(';')[1:] scores = map(float, scores) # Conversion to float average = sum(scores)/len(scores)
这也更一般,因为你不需要依赖分数的多少,只需拒绝第一个元素:)
如果您的文件具有以下格式:
john; 1; 2; 3; 4 pete; 5; 4; 3; 2 joan; 9; 8; 7; 6
然后您可以简单地:
请注意,如果此人有多个姓名,则此示例将不起作用:它假定只有一列对应于该姓名,其余的列可以转换为浮动。在
解决方案:
separator = ";" inputFile = "input.txt" with open(inputFile) as f: for line in f: values = line.split(separator) name = values[0] scores = map(float, values[1:]) avg = sum(scores) / len(scores) print name, avg
输入:
输出:
Maciej 20.0 John 11.75 Mike 5.0
您可以使用
[1:]
对结果列表进行切片这也更一般,因为你不需要依赖分数的多少,只需拒绝第一个元素:)
如果您的文件具有以下格式:
然后您可以简单地:
^{pr2}$请注意,如果此人有多个姓名,则此示例将不起作用:它假定只有一列对应于该姓名,其余的列可以转换为浮动。在
解决方案:
输入:
^{pr2}$输出:
相关问题 更多 >
编程相关推荐