【发布时间】:2016-12-21 06:49:26
【问题描述】:
我正在编写一个程序,该程序可以生成正文中字母的频率图。但是,我的代码中有一个错误,我无法发现它。有什么想法吗?
def letter_count(word,freqs,pmarks):
for char in word:
freqs[char]+=1
def letter_freq(fname):
fhand = open(fname)
freqs = dict()
alpha = list(string.uppercase[:26])
for let in alpha: freqs[let] = freqs.get(let,0)
for line in fhand:
line = line.rstrip()
words = line.split()
pmarks = list(string.punctuation)
words = [word.upper() for word in words]
for word in words:
letter_count(word,freqs,pmarks)
fhand.close()
return freqs.values
【问题讨论】:
-
嘿Alqosh。我猜你知道缩进在 python 中很重要。请在您的代码上使用正确的缩进来运行它或使其易于理解以获得进一步的帮助:)
-
缩进不是问题(我的意图在我的 python 中是正确的)。我收到此错误消息: KeyError: ' 。 '我以前从未见过它
-
嗯,了解正确的缩进对每个想要提供帮助的人都有帮助。
-
你是对的。但正如我所说,问题不在于缩进。我需要测试第 3 行中的 [char] 是否是标点符号,然后更新 freqs[char]
标签: python-2.7