密文是一个字符串,我用来打印重复的字符及其出现的百分比。代码如下:
def freq_attack (ciphertext):
store = ""
character = ""
non_character=""
for i in xrange(len(ciphertext)):
x = ciphertext[i]
if(is_alphabet(x)):
character +=x
else:
non_character +=x
for char in character:
count =(ciphertext.count(char)*100)/len(character)
print char, count,"%"
输出为
a 400/7 %
s 100/7 %
a 400/7 %
a 400/7 %
e 100/7 %
a 400/7 %
w 100/7 %
您只需计算字符数,因此请使用^{} object :
演示:
你的
for
循环对ciphertext
中的每个字符逐一进行迭代,这意味着在字符串hello world
中,它会遇到字符l
三次,每次你对它进行计数。至少,使用字典来追踪每个字母的计数。你知道吗Counter()
对象是Python dictionary类型的一个子类,有一些额外的行为使计数更容易。你知道吗相关问题 更多 >
编程相关推荐