頻度分析:Python
サイモン・シン『暗号解読』で単一換字暗号の解き方として出てきた
頻度分析をコードにしてみました。
入力された内容を正規表現で英語だけを抜き出し、
辞書に入れていく。
それを降順に並べてお終いです。
かなり簡単。
is_code_regex = re.compile(r"[a-zA-Z]+") text = input() mo = is_code_regex.findall(text) mo_join = "".join(mo).lower() count_code = {} for i in mo_join: if i in count_code.keys(): count_code[i] += 1 else: count_code[i] = 1 for k, v in sorted(count_code.items(), key=lambda x: -x[1]): print(str(k) + ": " + str(v))
このコード書いてせっかくやから暗号解いてやろうと
思い、下記にチャレンジするも断念。
頻度わかればいけるんやろ?は甘すぎた。