#!/usr/bin/python def find_high(dic): high, higha = -1, 'a' for a, b in dic.iteritems(): if b > high: high, higha = b, a return higha def freq_anal(phrase): lower_phrase = phrase.lower() freqs = dict([(a, 0) for a in 'abcdefghijklmnopqrstuvwxyz']) for a in phrase: if freqs.has_key(a): freqs[a] += 1 # commonest = 'etaoinshrdlucmfwypvbgkqjxz' # Linotype # commonest = 'eitsanhurdmwgvlfbkopjxczyq' # Morse code commonest = 'etaoinshrdlcumwfgypbvkjxqz' # Crypto etaoin = dict([(a, 0) for a in commonest]) for a in commonest: etaoin[a] = find_high(freqs) del freqs[etaoin[a]] outstring = '' for a in phrase: if etaoin.has_key(a.lower()): if a.islower(): outstring += etaoin[a] else: outstring += etaoin[a.lower()].upper() else: outstring += a return outstring