Computer >> Máy Tính >  >> Lập trình >> Python

Trình dịch mã Morse bằng Python

Morse Code Translator được sử dụng trong Mật mã học. Nó được đặt tên bởi Samuel F. B. Morse. Bằng kỹ thuật này, chúng tôi chuyển đổi một tin nhắn thành một loạt các dấu chấm, dấu phẩy, "-", "/".

Kỹ thuật này rất đơn giản. Mỗi bảng chữ cái trong tiếng Anh ký hiệu một loạt các dấu ".", ",", "/", "-". Chúng tôi chỉ mã hóa thông điệp từ tin nhắn thành các ký hiệu và giải mã từ các ký hiệu sang tiếng Anh.

Từ điển được đưa ra bên dưới

 'A':'.-', 'B':'-...', 'C':'-.-.', 'D':'- ..', 'E':'. ',' F ':' ..-. ',' G ':' -. ',' H ':' .... ',' I ':' .. ',' J ':' .- - ',' K ':' -.- ',' L ':' .- .. ',' M ':' - ',' N ':' -. ',' O ':' - - ',' P ':' .--. ',' Q ':' --.- ',' R ':' .-. ',' S ':' ... ',' T ':' - ',' Ư ':' ..- ',' V ':' ...- ',' W ':' .-- ',' X ':' -..- ',' Y ':' -.-- ',' Z ':' - .. ',' 1 ':' .---- ',' 2 ':' ..--- ',' 3 ':' ...- - ',' 4 ':' ....- ',' 5 ':' ..... ',' 6 ':' -.... ',' 7 ':' --... ' , '8':'--- ..', '9':'----.', '0':'-----', ',':'--..--', '.':'.-.-.-', '?':'..-- ..', '/':'-..-.', '-':'-....-' , '(':'-.--.', ')':'-. - .-'} 

Ví dụ

 Thông báo là PYTHON-PROGRAMOutput là .--. -.-- - .... --- -. -....- .--. .-. --- -. .-. .- - 

Thuật toán

Mã hóa

 Bước 1:Cho một chuỗi, trước tiên chúng ta trích xuất từng ký tự từ từ và đối sánh với từ điển Mã Morse, sau đó chúng tôi coi mã tương ứng với ký tự. Bước 2:Bước tiếp theo là lưu mã vào một biến. Và chúng tôi phải tuân theo rằng một khoảng trắng nên được duy trì giữa mỗi mã Morse. Bước 3:Hai khoảng trắng nên được duy trì giữa mỗi từ. 

Giải mã

 Bước 1:Đầu tiên chúng ta thêm một khoảng trắng vào cuối chuỗi. Bước 2:Bây giờ chúng ta duyệt từng chữ cái của thông báo cho đến khi không gặp phải khoảng trắng. .Step4:Khi nhận được 2 dấu cách liên tiếp, chúng ta sẽ thêm một khoảng trắng khác vào biến chứa chuỗi đã giải mã của chúng ta. Bước 5:Khi nhận được khoảng trắng cuối cùng của thông báo có nghĩa là đây là chữ cái cuối cùng của Trình tạo mã Morse. 

Mã mẫu

 # - * - coding:utf-8 - * - "" "Được tạo vào Thứ Ba ngày 2 tháng 10 11:21:31 2018 @ author:Satyajit" "" # Từ điển đại diện cho biểu đồ mã morseMORSE_CODE_DICT ={'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 ':' - .. ',' 1 ':' .---- ',' 2 ':' ..--- ',' 3 ':' ...-- ',' 4 ':' ....- ',' 5 ':' ..... ',' 6 ':' -.... ',' 7 ':' --... ',' 8 ':' - - .. ',' 9 ':' ----. ',' 0 ':' ----- ',', ':' --..-- ','. ':' .-. -.- ','? ':' ..-- .. ',' /':'-..-. ',' - ':' -....- ',' (':' -. -. ',') ':' -. - .- '} def mã hóa (tin nhắn):my_cipher =' 'cho bản tin của tôi trong tin nhắn:if myletter! =' ':my_cipher + =MORSE_CODE_DICT [bản tin của tôi] +' ' else:my_cipher + ='' return my_cipher # Hàm này được sử dụng để giải mã mã # Morse sang giải mã Englishdef (message):message + ='' decipher ='' mycitext ='' cho bản tin trong tin nhắn:# kiểm tra khoảng trắng if (myletter! =''):i =0 mycitext + =myletter else:i + =1 if i ==2:decipher + ='' else:decipher + =list (MORSE_CODE_DICT.keys ()) [list (MORSE_CODE_DICT .values ​​()). index (mycitext)] mycitext ='' return decipherdef main ():my_message ="PYTHON-PROGRAM" output =mã hóa (my_message .upper ()) print (output) my_message =".--. -.-- - .... --- -. -....- .--. .-. --- -. .-. .- - "output =decryption (my_message) print (output) # Thực thi chức năng chính __name__ =='__main__':main () 

Đầu ra

.--. -.-- - .... --- -. -....- .--. .-. --- -. .-. .- --PYTHON-PROGRAM