【发布时间】:2015-10-10 20:35:19
【问题描述】:
我试图在读取文件后平均每个单词的长度。但是,文件中的文本没有按照正常的句子结构进行格式化。有时单词和句子中间的换行符之间会有额外的空格。
当前代码
def average(filename):
with open(filename, "r") as f:
for line in f:
words = line.split()
average = sum(len(words) for words in words)/len(words)
return average
>>>4.3076923076923075
Expected
>>>4.352941176470588
文件
Here are some words there is no punctuation but there are words what
is the average length
【问题讨论】:
-
请提供完整代码。 return 只能在函数内部使用。
-
@marmeladze 刚刚编辑
-
你说你试图计算每个字符串的平均长度,你的意思是单词还是每行的单词数?此外,您可能希望在代码中编辑名称
words的双重含义 -
文件内每个单词的平均长度