在Python3上尝试对分配的代码进行故障排除时遇到问题
我一直在尝试这个任务,但我遇到了一些问题,我仍然无法解决。首先,我无法从文本中收集正确的数字总和,因此我的平均值非常差。第二,对于第14行,在将其改回float之前必须将sum定义为一个字符串,这确实让人感到很奇怪,尽管它没有给我一个回溯。最后,问题是不使用sum()函数,但我在不使用它时遇到了问题。如果可能的话,我想了解这个问题背后限制我们使用sum()函数的原因是什么 我们将非常感谢您的帮助 文件名:,输入应为mbox-short.txt 附言:我把计数作为最终输出,只是为了看看它注册了多少行 任务: 编写一个程序,提示输入文件名,然后打开该文件并读取该文件,查找表单中的行: X-DSPAM-置信度:0.8475 对这些行进行计数,从每行中提取浮点值,计算这些值的平均值,并生成如下所示的输出。不要在解决方案中使用sum()函数或名为sum的变量。 当您在下面进行测试时,您可以在下载示例数据,并输入mbox-short.txt作为文件名在Python3上尝试对分配的代码进行故障排除时遇到问题,python,python-3.x,Python,Python 3.x,我一直在尝试这个任务,但我遇到了一些问题,我仍然无法解决。首先,我无法从文本中收集正确的数字总和,因此我的平均值非常差。第二,对于第14行,在将其改回float之前必须将sum定义为一个字符串,这确实让人感到很奇怪,尽管它没有给我一个回溯。最后,问题是不使用sum()函数,但我在不使用它时遇到了问题。如果可能的话,我想了解这个问题背后限制我们使用sum()函数的原因是什么 我们将非常感谢您的帮助 文件名:,输入应为mbox-short.txt 附言:我把计数作为最终输出,只是为了看看它注册了多少
fname =input("Enter file name: ")
fhand = open(fname)
for lx in fhand :
if not lx.startswith("X-DSPAM-Confidence:") :
continue
ly = lx.replace("X-DSPAM-Confidence:"," ")
ly = ly.strip()
def avg():
sum = 0
count = 0
count = count
for values in ly :
count = count + 1
sum = str(sum) + values
return print("Average spam confidence:", count, float(sum) / count)
avg()
我对你的代码做了一些更改。将每个浮点数存储到一个列表中,并在执行加法操作以查找总和时迭代该列表
fname =input("Enter file name: ")
fhand = open(fname)
num_list = []
for lx in fhand :
if not lx.startswith("X-DSPAM-Confidence:") :
continue
ly = lx.replace("X-DSPAM-Confidence:","")
num_list.append(float(ly))
def avg():
total = 0
count = 0
for values in num_list:
count = count + 1
total += values
return print("Average spam confidence:", count, total / count)
avg()
输出:
Average spam confidence: 27 0.7507185185185187
这对我有用
summition = 0
fname =input("Enter file name: ")
count = 0
fhand = open(fname)
for lx in fhand :
if not lx.startswith("X-DSPAM-Confidence:") :
continue
ly = lx.replace("X-DSPAM-Confidence:"," ")
ly = ly.strip()
summition += float(ly)
count = count + 1
fhand.close()
print("Average Spam " + str(count)+ " " + str(summition/count))
错误代码提示:-
- 始终关闭文件句柄
- return print()//返回无