所以这是我的英语莫尔斯翻译器(效果很好):
english = {'.-': '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',
'-----': '0', '.----': '1', '..---': '2',
'...--': '3', '....-': '4', '.....': '5',
'-....': '6', '--...': '7', '---..': '8',
'----.': '9', ' ': ' '}
print ("""
================================================================================
English to Morse Code Translator
================================================================================""")
time.sleep(2)
while True:
msg = input('''What would you like translated? please use lower-case letters.\n :''')
print ("")
for i in msg:
print(morse[i])
userstatus = input('Would you like to go again?(y or n): ').lower().strip(' ')
if userstatus not in('y', 'yes'):
print ("Have a nice day!")
break
现在这工作正常,我遇到的问题是莫尔斯英语翻译:
morse = {'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': '--..',
'0': '-----', '1': '.----', '2': '..---',
'3': '...--', '4': '....-', '5': '.....',
'6': '-....', '7': '--...', '8': '---..',
'9': '----.', ' ': ' '}
print ("""
================================================================================
Morse to English Code Translator
================================================================================""")
time.sleep(2)
while True:
msg = input('''What would you like translated?
:''')
print ("")
for i in msg:
print(english[i])
userstatus = input('Would you like to go again?(y or n): ').lower().strip(' ')
if userstatus not in('y', 'ye', 'yes'):
print ("Have a nice day!")
break
ans = input('''按 1 表示英语到莫尔斯语\n按 2 表示莫里斯语到英语:''')
我遇到的问题是,一旦我输入一行摩尔斯电码,例如“-- --- .-. ....”,它就会像这样打印出来:
What would you like translated?
:-- --- .-. ... .
t
t
t
t
t
e
t
e
e
e
e
e
Would you like to go again?(y or n):
有谁知道我可以解决这个问题,所以它会打印出这个词,在这种情况下是 morse,而不仅仅是 t 或 e?