主要问题是我无法确定导致代码产生此值的原因。它应该读取文本文件中的值,然后计算值的平均置信度。但是我收到了重复的错误。这里的一个和另一个声明“无法将字符串转换为浮点数”,如果我有它告诉我它将是第一行。
我正在使用 Repl.it 运行 python,它是它的 v3。我已经尝试在我的计算机上执行此操作,我得到了类似的结果,但是,很难阅读错误,所以我将它移到那里以便看得更清楚。
# Asks usr input
usrin = input("Enter in file name: ")
# establishes variabls
count = 0
try:
fmbox = open(usrin, 'r')
rd = fmbox.readlines()
# loops through each line and reads the file
for line in rd:
# line that is being read
fmLen = len(rd)
srchD = rd.find("X-DSPAM-Confidence: ")
fmNum = rd[srchD + 1:fmLen] # extracts numeric val
fltNum = float(fmNum.strip().replace(' ', ''))
#only increments if there is a value
if (fltNum > 0.0):
count += 1
total = fltNum + count
avg = total / count
print("The average confiedence is: ", avg)
print("lines w pattern ", count)
返回应该是从文件中删除的数字的平均值以及有多少值大于 0 的计数。
如果您需要在此处查看 txt 文件,请访问 http://www.pythonlearn.com/code3/mbox.txt