質問の暗号問題をPythonで解いてみた。

 質問の暗号問題をPythonで解いてみました。(^_^;

 EtTtetEetEeTeteTetTeeeEteTttEttTeEeteTttTeetEtttEetTtEtteEeeTttEeetEEteTEeee
EEteeEtTteeTettTeeTttTteEtetet

 大文字を区切り位置、「e」を「・」に「t」を「−」に変換して、得られるモールス信号をアルファベットに変換しました。
 ちなみに、モールス符号で、「e」は「・」、「t」は「−」になっているようです。(^_^;

● ET_Message1.py

# coding: UTF-8
# ET_Message1.py

from time import time

# モールス符号の辞書
dict = {
    'A':'・-',   'B':'-・・・', 'C':'-・-・', 'D':'-・・',  'E':'・',
    'F':'・・-・', 'G':'--・',  'H':'・・・・', 'I':'・・',   'J':'・---',
    'K':'-・-',  'L':'・-・・', 'M':'--',   'N':'-・',   'O':'---',
    'P':'・--・', 'Q':'--・-', 'R':'・-・',  'S':'・・・',  'T':'-',
    'U':'・・-',  'V':'・・・-', 'W':'・--',  'X':'-・・-', 'Y':'-・--',
    'Z':'--・・', '.':'・-・-・-'
}
##print(dict); exit()

# 復号
def deCrypt(src):
    s = src.replace('E','|e').replace('T','|t')+'|' # '|'で区切る
    s = s.replace('e','・').replace('t','-')         # 'e'→'・', 't'→'-'
##    print(s)
    for c in dict.keys():                           # 符号をアルファベットに変換
        s = s.replace('|'+dict[c]+'|','|'+c+'|')
    s = s.replace('|','')                           # 区切りをはずす
    return s

# 暗号化
def enCrypt(src):
    s = src.upper()                                 # 文字列を大文字に変換する
    for c in dict.keys():                           # アルファベットを符号に変換
        s = s.replace(c,'|'+dict[c])                # 区切りも前に付ける
##    print(s)
    s = s.replace('・','e').replace('-','t')         # '・'→'e', '-'→'t'
    s = s.replace('|e','E').replace('|t','T')       # 区切りの位置を大文字化
    s = s.replace(' ','')                           # 半角スペース' 'を除去
    return s

def main():
    tm = time() # Timer Start
    # メッセージ
    s = 'EtTtetEetEeTeteTetTeeeEteTttEttTeEeteTttTeetEtttEetTt'\
        'EtteEeeTttEeetEEteTEeeeEEteeEtTteeTettTeeTttTteEtetet'
    t = deCrypt(s)
    print(t)
    t = enCrypt(t)
##    print(t)
    print(s==t)     # 検算のため逆変換して同じものになるか調べる
    print("Runtime : %.3f [sec]"%(time()-tm))   # Timer Stop & Disp

if __name__ == '__main__':
    main()

●実行結果

AQUICKBROWNFOXJUMPSOVERTHELAZYDOG.
True
Runtime : 0.000 [sec]

※参考URL
モールス符号 - Wikipedia
誰でもできる!モールス信号の簡単な覚え方【語呂合わせ】 - NAVER
The quick brown fox jumps over the lazy dog - Wikipedia