请教一个关于Python的问题,关于提取每行中的浮点数,并不用sum函数求平均值,来请教一下有人会吗,想知道要用什么函数,怎么一个思路,最好可以展示一下怎么一个过程!

请教一个关于Python的问题,写了一半不会了,关于提取每行中的浮点数,并不用sum函数求平均值,来请教一下有人会吗,想知道要用什么函数,怎么一个思路,最好可以展示一下怎么一个过程!下面是图片

img

从题目的意思初步来看,好像是不需要输出指定行中的浮点数,而是要输出最后总的浮点数结果;

具体办法,就是将指定行中的浮点数累加到一个变量中,然后记录浮点数的个数,接着用这个和除以浮点数个数,计算出总的平均数,最后打印这个平均数的结果即可。

修改如下:


fname=input("Enter file name:")
fh = open(fname)

avg=0
num=0
for line in fh:
    if not line.startswith("X-DSPAM-Confidence:"):
        continue
    # 将指定列中的浮点数字符串转变为浮点数
    data = float(line[20:26])
    # 浮点数个数+1
    num=num+1
    # 将当前数据累加到avg中
    avg=avg+data
# 计算总平均值
avg = avg/num
# 打印结果
print("Average spam confidence: "+str(avg))

img

不用sum求和那就通过循环一个个加啊

img