Skye 2023-07-19 17:11 采纳率: 100%
浏览 42
已结题

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

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

img

  • 写回答

4条回答 默认 最新

  • a5156520 2023-07-19 19:48
    关注

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

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

    修改如下:

    
    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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 7月27日
  • 已采纳回答 7月19日
  • 创建了问题 7月19日