摩尔斯电码转换python编码_Morse Code 用Python做个摩斯密码转换器
摩斯密碼摩爾斯電碼(又譯為摩斯密碼,Morse code)是一種時通時斷的信號代碼,通過不同的排列順序來表達不同的英文字母、數字和標點符號,不同于現代只使用零和一兩種狀態的二進制代碼,它的代碼包括五種: 點、劃、點和劃之間的停頓、每個詞之間中等的停頓以及句子之間長的停頓。
可以參考以下表格:
abc@foxmailmail.com = .-? -...? -.-.? ?.--.-.? ?..-.----..---.-...-..? ?.-.-.-? ?-.-.-----? ?|? 看來摩斯密碼十分復雜
一、創建字典
首先,要將字母和摩斯密碼都儲存在一個字典里。
# 給字典賦值
letter_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":"--.."}
print(letter_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', '--..')
當然,Python打印了字典,可能并沒有如你所愿,因為它只打印了字典而沒有實現轉換的功能。但這也很正常,因為你并沒有告訴計算機如何操作。不過,你已經很好地創建了一個字典,接下來則變得十分簡單了。
二、允許用戶輸入并轉換
現在,我們將程序改成允許用戶輸入的。
直接加個input()函數就行了:
Morse_message = ""? ? ? ? # 給Morse_message賦值為空的
letters =input("Enter the words: \n")? ? ? ? # 允許用戶輸入
print(letters)? ? ? ? # 打印需要轉換的明文
# 運行結果
Enter the words:
并沒有發生什么事
并沒有發生什么事
程序并沒有發生什么事, 因為我們還沒有輸入指令。
再添加幾行:
for letter in letters:
if letter not in letter_morse:
print("Couldn't find '" + letter +"'. ")
elif letter in letters:
Morse_message += letter_morse[letter] +' '
print(Morse_message)
# 運行結果
Enter the words:
hello
Okay:
.... . .-.. .-.. ---
可以看到,我們已經成功地完善了 “摩斯密碼轉換器” 。
不過你會發現,如果你輸入大寫字母,它會輸出 Couldn't find 輸入的大寫字母。如何解決呢?只要在 “?letters =input("Enter the words: \n") ” 這行的末尾添上 “ .lower() ” 函數就大功告成了。
三、整合
完整的代碼如下。
letter_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":"--..",
" ":"? "}
Morse_message = ""
letters =input("Enter the words: \n").lower()
for letter in letters:
if letter not in letter_morse:
print("Couldn't find '" + letter +"'. ")
elif letter in letters:
Morse_message += letter_morse[letter] + ' '
print("Okay: \n" + Morse_message)
希望對你有所幫助!
總結
以上是生活随笔為你收集整理的摩尔斯电码转换python编码_Morse Code 用Python做个摩斯密码转换器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构之二叉树:二叉查找树基本功能,P
- 下一篇: 【Pytorch神经网络实战案例】16