没有sum()错误的平均函数

时间:2019-03-05 04:21:07

标签: python python-3.x sum numbers variable-assignment

我是一个初学者,目前正在密歇根大学学习“为所有人编程”课程。

我为任务7.2亲自编写了这段代码,据我了解,代码基本上已经完成。但是由于某种原因,在输出的第7行(您将在启动程序时看到),该程序开始在总和末尾添加11个额外的数字,就像我刚刚从总和中减去了“ 0.00000000000000001”一样。

我只是不知道为什么会发生这种情况,你们中的任何人看到问题了吗?

用于此目的的文本文件可以在这里找到:https://www.py4e.com/code3/mbox-short.txt

非常感谢。

file = ("mbox-short.txt")
text = open(file)
lcount = 0

for line in text:
    line = line.rstrip()
    if not line.startswith("X-DSPAM-Confidence"):
        continue
    lcount = lcount + 1
    print()
    print("Line: ", lcount)
    #print(line)
    a = line.find(":")
    numbers = line[a+1:]
    numbers = numbers.rstrip()
    numbers = float(numbers)
    print("New Number: ", numbers)

    if lcount > 1:
        print("Old sum: ", numbers_sum, "+", numbers)
        numbers_sum = numbers_sum + numbers
        print("New sum: ", numbers_sum)
    else:
        numbers_sum = numbers

numbers_avg = numbers_sum/lcount
print(numbers_avg)

0 个答案:

没有答案