请教一个关于Python的问题,写了一半不会了,关于提取每行中的浮点数,并不用sum函数求平均值,来请教一下有人会吗,想知道要用什么函数,怎么一个思路,最好可以展示一下怎么一个过程!下面是图片
从题目的意思初步来看,好像是不需要输出指定行中的浮点数,而是要输出最后总的浮点数结果;
具体办法,就是将指定行中的浮点数累加到一个变量中,然后记录浮点数的个数,接着用这个和除以浮点数个数,计算出总的平均数,最后打印这个平均数的结果即可。
修改如下:
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))
不用sum求和那就通过循环一个个加啊
================================================================================菜鸟网站上的例子