我如何完成所需任务的代码?

问题描述 投票:0回答:1

我有一个 Python 脚本,可以从文件中读取数据并对其进行处理。我需要它来计算行数,打印给定的测量值,打印最大的测量值及其来源的 id 并计算平均值。我只做到了这一步:

with open(r"file.txt", 'r', encoding="UTF-8") as fp: #reads file
    lines = len(fp.readlines())
    print('number of lines:', lines) #prints the number of lines

with open(r"file.txt", "r") as fp:
    measurements = fp.readlines() #stores lines in a list

measurements = [i.strip().split(' ') for i in measurements] #strips whitespaces, splits according to spaces
print(measurements)

data = [i[3] for i in measurements] #takes the 4th thing in line,  stores it as a string the temps list

print('measured data:') #prints temps
for i in data:
    print(i)`

我厌倦了各种方法,但我的逻辑似乎有问题,所以请

python
1个回答
0
投票

我相信这就是您正在寻找的:

通过用点替换逗号来将字符串转换为浮点数

然后再次打印以验证 i in range(len(data)):

data[i] = float(data[i].replace(',', '.')) print(measurements)

对列表进行排序并打印最后一个元素 - 最大的元素

使用索引找到对应于最高测量值的id并打印 naj_teplota =排序(data)[-1] print('1measurement:',

naj_teplota)

查找最大值所在的 ID print('measurement id:',measurements[data.index(naj_teplota)][0])

平均primer = sum(data) / len(data) print('average', primer)

© www.soinside.com 2019 - 2024. All rights reserved.