我是一个初学者,目前正在密歇根大学学习“为所有人编程”课程。
我为任务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)