废柴居士 发表于 2022-10-31 17:09:14

python求助

题目描述:
词频分析技术是一项简单但应用广泛的技术。许多密码分析技术都利用了英文
语言的统计特性,从众多英语文章搜集统计 26 个英文字母出现的频率。比如,字
母“e”是出现频率最高的字母,因此加密以后的文章中出现频率最高的字母可以
看做由“e”加密而成。
本题中,考虑三字母组成的固定序列,即统计相邻三个字母序列的出现频率,
比如前三个最常见的三字母组为 the,ing,and(出现的频数递减)。现在给定数
行加密后的文本,每行代表一句密文,请利用词频分析技术,分析最频繁出现的密
文,及其出现的次数。
注意,如果某一句密文字母数目少于 3,则不计入考虑。并且总是保证出现次
数最多的三字母固定序列存在且唯一。
输入:
第一行为一个正整数 n,代表一共有 n 行密文。
后面 n 行,每行输入一串仅由小写英文字母构成的字符串,代表一句密文。
输出:
输出一行,为最频繁出现的密文及其出现次数,以空格间隔。
输入样例 1
1
banana
输出样例 1
ana 2
输入样例 2
2
abcab
cab
输出样例 2
cab 2
样例 2 解释:
第一行三字母组为“abc”,“bca”,“cab”,第二行三字母组为“cab”。因此
出现次数最多的三字母组为“cab”,出现次数为 2。

废柴居士 发表于 2022-10-31 17:33:07


n = input()
dic = {}
for i in range(0,n):
string = input()
if len(string) < 3:
    continue
else:
    for j in range(0, len(string)-2):
      abc = string
      if abc in dic:
      dic += 1
      else:
      dic = 1
ans = max(dic.items(),key=lambda x:x)
print(ans,dic)
这个怎么改呢
页: [1]
查看完整版本: python求助