莫斯密碼加密與解密 python加密篇

2021-10-06 09:28:02 字數 1606 閱讀 1189

莫爾斯碼( morse code)最早用於電報通訊,因此一般稱為莫爾斯電碼。這是一種時通時斷的訊號**,通過不同的排列順序來表達不同的英文本母、數字和標點符號等。莫爾斯碼由兩種基本訊號組成:短促的點訊號 「 .」 (讀「滴」)和保持一定時間的長號「ー讀「嗒」)。

下圖是莫爾斯電碼表的字母部分,各個英文本母以不同的點dot(.)和划dash(——)表示。在發報時,一點就是「嘀」的一聲,一劃就是「嗒」的一聲,「嗒」保持的時間是3個嘀」的長度。參照上面的電碼表,發出sos的求救訊號就是「滴滴滴嗒嗒嗒滴滴滴」。

是不是覺得很難記呢?下面這個可以輔助記憶。

除了用於電報通訊外,莫爾斯碼還能以燈光、聲音、動作的快慢等多種方式進行應用。例如,使用燈光傳送莫爾斯碼時,將燈光短亮定義為「 . 」,燈光長亮定義為「一」,然後就能用手電筒等發光裝置來傳送各種資訊,如求救資訊sos。在電影《風聲》中,諜報人員在衣服上用長短有別的線縫出的莫爾斯碼來傳遞情報。

編寫乙個程式,輸入乙個英文句子,將其轉換成莫爾斯碼輸出。

通過將莫爾斯電碼表存放到字典中,就能將輸入的英文句子便捷地轉換成莫爾斯碼的形式。使用自然語言描述將英文句子轉換成莫爾斯碼的演算法,具體步驟如下,

(1)準備乙個莫爾斯碼字典資料。

(2)輸入乙個英文句子。

(3)使用for…in迴圈語句逐個讀取英文句子的每個字母。

(4)從字典中讀取某個字母對應的電碼符號。

(5)輸出乙個電碼符號和乙個空格。

python語言提供字典(dict)資料型別用於存放鍵值對形式的資料。在 python 編譯器視窗中輸入下面**。

(1)建立莫爾斯資料字典

codes =
(2)使用 input()函式接收使用者輸入的乙個英文句子,存放在變數 words中
words = input('請輸入一句英文:')
(3)使用for…in…迴圈語句從英文句子中讀取每個字母。
for s in words:
(4)從字典變數 codes中讀取某個字母對應的電碼符號,存放在變數code中
code = codes.get(s.upper(), s)
因為字典變數 codes中的鍵名全部採用大寫字母,因此從字典中取出資料時也要大寫字母的鍵名。這裡使用字串的 upper方法將字母轉換為大寫。另外,如果要訪問的資料不在字典中,就保留字元不變。

(5)輸出乙個電碼符號和乙個空格。

print(code, end=' ')
(6)至此,將英文句子轉換為莫爾斯碼的程式編寫完畢,完整**如下:
codes = 

words = input('請輸入一句英文:')

for s in words:

code = codes.get(s.upper(), s)

print(code, end=' ')

文章參考。1

莫斯密碼加密與解密 python解密篇

莫爾斯碼 morse code 最早用於電報通訊,因此一般稱為莫爾斯電碼。這是一種時通時斷的訊號 通過不同的排列順序來表達不同的英文本母 數字和標點符號等。莫爾斯碼由兩種基本訊號組成 短促的點訊號 讀 滴 和保持一定時間的長號 讀 嗒 下圖是莫爾斯電碼表的字母部分,各個英文本母以不同的點dot 和划...

加密與解密(五) 密碼 加密

問題 1 密碼的存在意義?2 加密演算法有哪些?密碼 密碼學 密碼 通訊雙方按照約定的法則進行資訊特殊變換的一種重要保密手段。依照這些法則,變明文為密文,稱為加密變換 變密文為明文,稱為脫密變換 解密 密碼體制可以分為以下幾種 密碼學的目標 加密乙個密碼系統的安全性只在於金鑰的保密性,而不在演算法的...

python應用 愷撒密碼加密與解密

1.它是一種替換加密的技術,明文中的所有字母都在字母表上向後 或向前 按照乙個固定數目進行偏移後被替換成密文。例如,當偏移量是3的時候,所有的字母a將被替換成d,b變成e,以此類推。這個加密方法是以愷撒的名字命名的,當年愷撒曾用此方法與其將軍們進行聯絡。2.ascii表 2.具體實現 class c...