作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作一个程序,将摩尔斯电码解密为英语。
但是,当程序运行时,我输入摩尔斯电码(例如 *-
这应该导致程序打印出 A
),程序只给出一个空格.
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)
我正在寻找一种方法来通过使用上面的替换方法来解决这个问题。
最佳答案
尝试使用此解决方案从英语转换为摩尔斯电码,反之亦然
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))
关于python - Python 中的莫尔斯电码解密器不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50479845/
我是一名优秀的程序员,十分优秀!