首页 > 解决方案 > 在 python 中查找读取文件中的字符串后出现的数字的平均值,中间有空格,例如:Tom Bombadil_______6.5 5.5 4.5

问题描述

def avg(input):
    with open(input, "r") as file:
        average = []
        add = 0.0
        for line in file:
            f = line.split("_______________")
            for i in range(1, len(f)):
                add = 0.0
                l = f[i].split(" ")
                for num in l:
                    add = add + float(num)
                print(f[0], "has average", round((add / 3),1))
    return " "

f = open('input.txt', 'r')
for line in iter(f):
    print(line)


file = "input.txt"
avg(file)

(////input.txt/////包含这些////)

Tom Bombadil_______6.5 5.5 4.5
Dain Kaput_______6.7 7.2 7.7
Chris Cohen_______6.8 7.8 7.3
Dirk Dirksen_______ 1.0 5.0 7.7

标签: pythonpython-3.x

解决方案


像这样的帮助

import numpy as np
n = "Tom Bombadil_______6.5 5.5 4.5".split('_______')[1].split()
np.mean([float(x) for x in n])

输出

5.5

推荐阅读