在英语中每个角色都有发生的百分比,这些百分比:在列表中的值,蟒蛇
A B C D E F G H I
.0817 .0149 .0278 .0425 .1270 .0223 .0202 .0609 .0697
J K L M N O P Q R
.0015 .0077 .0402 .0241 .0675 .0751 .0193 .0009 .0599
S T U V W X Y Z
.0633 .0906 .0276 .0098 .0236 .0015 .0197 .0007
称为letterGoodness
名单预定义为:
letterGoodness = [.0817,.0149,.0278,.0425,.1270,.0223,.0202,...
我需要找到一个字符串的“优点”。例如,'I EAT'的优点是:.0697 + .1270 + .0817 + .0906 = .369。这是一个更大问题的一部分,但我需要解决这个问题来解决这个大问题。我开始是这样的:
def goodness(message):
for i in L:
for j in i:
所以它将足以找出如何获得任何字符的出现百分比。你可以帮我吗? 该字符串只包含大写字母和空格。
您有一个长度为26的数组。字符串中的每个字符都有一个ascii数字。编写一个方法将ascii编号转换为正确的数组索引。然后,您可以简单地迭代字符串,将O(n)中的优美值相加。 新编辑:如果你的字符串只有大写字母,那么是的,一个字典将删除我描述的散列函数的需要。 –