我试着计算一个文档中字母的频率,然后把它们分解成单独的变量,这样我就可以把它们转换成百分比。我遇到的问题是每次if语句循环时变量var1都会被重写。。。我不知道怎样才能把26个字符的频率都写进单独的变量中,这样我就可以把它们转换成百分比,并分别使用每个百分比。你知道吗
这是我的代码,var1最后打印为文件中最后一个或最不常见的字母:
def freq():
info = input("File Name")
filehandle = open(info, "r")
data = filehandle.read().upper()
char_counter = collections.Counter(data)
for char, count in char_counter.most_common():
if char in string.ascii_uppercase:
s = (str(count))
my_tokens = s.split("|")
print(my_tokens)
global var1
var1 = my_tokens[0]
freq()
print(var1)
任何帮助都将不胜感激,因为我有点不知所措。谢谢。你知道吗
将每个char freq存储到一个hash(map)中,其中key是char本身,value是integer。遇到每个字符的增量整数值
要使用
dict
:可以使用
dictionary
,其中char是键,value是出现的次数,如下所示:你可以在这里阅读更多关于词典使用的信息http://www.tutorialspoint.com/python/python_dictionary.htm
相关问题 更多 >
编程相关推荐