在 Python 中无法使用摩尔斯电码解密器
not working Morse Code Decryptor in Python
我正在制作一个将摩尔斯电码解密成英语的程序。
但是,当程序是 运行 并且我将摩尔斯电码放入(例如 *-
应该导致程序打印出 A
)时程序只给出一个空白 space.
message = input("Please type a message to encrypt. ")
new_message = ""
letters = {"*-": "A",
"-***": "B",
"-*-*": "C"}
for let in message:
if let in letters:
new_message += letters[let]
print(new_message)
我正在寻找使用上述替换方法解决此问题的方法。
我假设你的输入是这样的 *-/-***
,所以每个字母之间用 /
分隔。
#split every letter into list of letters
message = input('Please type a message to encrypt: ').split('/')
#join the list after decrypt it
print("".join([letters[letter] for letter in message]))
这是一个解决方案:
message = input("Please type a message to encrypt: ")
new_message = ""
letters = {".-": "A",
"-...": "B",
"-.-.": "C",}
if letters[message]:
new_message = letters[message]
else:
new_message = "This cannot be turned to morse code"
print(new_message)
输入 .-
将 return A
。
试试这个解决方案,从英语到摩尔斯语,反之亦然
def english_to_morse(message):
letters = {'A': '*-',
'B': '-***',
'C': '-*-*'}
return ''.join([letters[letter]+'|' for letter in message if letter in letters])
def morse_to_english(message):
letters = {'A': '*-',
'B': '-***',
'C': '-*-*'}
letters = {v: k for k, v in letters.items()}
message = message.split('|')[0:-1]
return ''.join([letters[letter] for letter in message if letter in letters])
message = input("Please type a message to encrypt. ")
print(english_to_morse(message))
message = input("Please type a morse code message to decrypt. Separate codes by '|' ")
print(morse_to_english(message))
我正在制作一个将摩尔斯电码解密成英语的程序。
但是,当程序是 运行 并且我将摩尔斯电码放入(例如 *-
应该导致程序打印出 A
)时程序只给出一个空白 space.
message = input("Please type a message to encrypt. ")
new_message = ""
letters = {"*-": "A",
"-***": "B",
"-*-*": "C"}
for let in message:
if let in letters:
new_message += letters[let]
print(new_message)
我正在寻找使用上述替换方法解决此问题的方法。
我假设你的输入是这样的 *-/-***
,所以每个字母之间用 /
分隔。
#split every letter into list of letters
message = input('Please type a message to encrypt: ').split('/')
#join the list after decrypt it
print("".join([letters[letter] for letter in message]))
这是一个解决方案:
message = input("Please type a message to encrypt: ")
new_message = ""
letters = {".-": "A",
"-...": "B",
"-.-.": "C",}
if letters[message]:
new_message = letters[message]
else:
new_message = "This cannot be turned to morse code"
print(new_message)
输入 .-
将 return A
。
试试这个解决方案,从英语到摩尔斯语,反之亦然
def english_to_morse(message):
letters = {'A': '*-',
'B': '-***',
'C': '-*-*'}
return ''.join([letters[letter]+'|' for letter in message if letter in letters])
def morse_to_english(message):
letters = {'A': '*-',
'B': '-***',
'C': '-*-*'}
letters = {v: k for k, v in letters.items()}
message = message.split('|')[0:-1]
return ''.join([letters[letter] for letter in message if letter in letters])
message = input("Please type a message to encrypt. ")
print(english_to_morse(message))
message = input("Please type a morse code message to decrypt. Separate codes by '|' ")
print(morse_to_english(message))