我正在做一个程序,需要输入并将其转换为莫尔斯电码形式的蜂鸣声,但我无法弄清楚如何制作它,所以我可以把多个字母在输入时不会出现错误。允许多个字符在莫尔斯电码转换器
这里是我的代码:
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已经使用字典,并有一个有趣的问题来解决。我从来没有想过要制作一个莫尔斯电码转换器...... FWIW,如果你想处理短语,你可能还需要在字典中添加一个空格。 – mgilson 2013-05-03 01:14:53
是的,我也修好了,谢谢你! – Serial 2013-05-03 01:16:42