在 python 中查找列表数组的长度和平均值的问题

Problem to find the length and average of a list array in python

我尝试编写一个程序来计算文本文件中存储的单词的平均长度,每行一个。更具解释性的是,该程序将读取文件中的单词,找到它们的长度并在最后计算平均长度。该文件包括以下单词:Book、List、Python、Masterpiece、National 等。关于所有这些,我编写了以下代码行:

import requests
import os
import math


f = open('C:/tt.txt','r',encoding='utf-8')

#for list in f:
        #f = list.split() 

for list in f:
        a=len(list)
        #print(len(list))
        print(a)
        #b=sum(len(list))
avg=sum(a)/coun(list) #find the average

当程序是 运行 时,单词长度的结果是可以的,但顺序不正确(例如 5,7,12,9 但它必须是 9,12,5...) .另外一个方案是txt文件的内容不能拆分(看代码注释)。编译的结果是:Traceback(最近调用last): 文件“C:\Users\pliroforiki-sox2\Desktop\exercises_07.py”,第 17 行,位于 avg=sum(list)/count(a) #求平均值 类型错误:+ 不支持的操作数类型:'int' 和 'str'

这个怎么样?

total = 0
word_count = 0
with open('C:/tt.txt','r',encoding='utf-8') as f:
    for line in f:
        word_length = len(line.strip())
        print(word_length)
        total += word_length
        word_count += 1
print(total / word_count)

请注意,我还使用“with open() as f:”语法,这是更好的做法。这会自动为您清理文件。