Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python3上尝试对分配的代码进行故障排除时遇到问题_Python_Python 3.x - Fatal编程技术网

在Python3上尝试对分配的代码进行故障排除时遇到问题

在Python3上尝试对分配的代码进行故障排除时遇到问题,python,python-3.x,Python,Python 3.x,我一直在尝试这个任务,但我遇到了一些问题,我仍然无法解决。首先,我无法从文本中收集正确的数字总和,因此我的平均值非常差。第二,对于第14行,在将其改回float之前必须将sum定义为一个字符串,这确实让人感到很奇怪,尽管它没有给我一个回溯。最后,问题是不使用sum()函数,但我在不使用它时遇到了问题。如果可能的话,我想了解这个问题背后限制我们使用sum()函数的原因是什么 我们将非常感谢您的帮助 文件名:,输入应为mbox-short.txt 附言:我把计数作为最终输出,只是为了看看它注册了多少

我一直在尝试这个任务,但我遇到了一些问题,我仍然无法解决。首先,我无法从文本中收集正确的数字总和,因此我的平均值非常差。第二,对于第14行,在将其改回float之前必须将sum定义为一个字符串,这确实让人感到很奇怪,尽管它没有给我一个回溯。最后,问题是不使用sum()函数,但我在不使用它时遇到了问题。如果可能的话,我想了解这个问题背后限制我们使用sum()函数的原因是什么

我们将非常感谢您的帮助

文件名:,输入应为mbox-short.txt

附言:我把计数作为最终输出,只是为了看看它注册了多少行

任务:

编写一个程序,提示输入文件名,然后打开该文件并读取该文件,查找表单中的行:

X-DSPAM-置信度:0.8475

对这些行进行计数,从每行中提取浮点值,计算这些值的平均值,并生成如下所示的输出。不要在解决方案中使用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()//返回无

您能否提供有关“fname”及其内容的更多信息?顺便说一下,你提供的作业链接上说会话已过期。对不起!我已经编辑过了。现在应该没问题了,第7行是需要浮点数的地方。将这些数字中的每一个存储到一个列表中,并在该列表上迭代以找到总和和平均值