私は入力を受け取り、コンピュータのビープ音の形態でモールス符号に変換するプログラムを作っていますが、それを作る方法を理解できませんので、入力をエラーなしで入力します。今モールスコード変換で複数の文字を許可する
import winsound
import time
morseDict = {
'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': '--..'
}
while True:
inp = raw_input("Message: ")
a = morseDict[inp]
morseStr = a
for c in morseStr:
print c
if c == '-':
winsound.Beep(800, 500)
elif c == '.':
winsound.Beep(800, 100)
else:
time.sleep(0.4)
time.sleep(0.2)
それは、一度に1つの文字を取りますが、私はそれがフレーズをしたい:
は、ここに私のコードです。
+1はすでに辞書を使用しており、楽しい問題を解決するためです。私はモールスコードコンバータを作ることについて決して考えなかった... FWIW、もしあなたがフレーズを扱いたいのであれば、おそらくあなたの辞書のスペースのためのエントリーを追加する必要があるだろう。 – mgilson
ええ、私もそれはあなたに感謝した固定! – Serial