Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมแปลรหัสมอร์สใน Python


โปรแกรมแปลรหัสมอร์สใช้ในการเข้ารหัส มันถูกตั้งชื่อโดยซามูเอล เอฟ. บี. มอร์ส ด้วยเทคนิคนี้ เราจะแปลงข้อความเป็นชุดของจุด จุลภาค "-","/"

เทคนิคนี้ง่ายมาก ตัวอักษรภาษาอังกฤษทุกตัวหมายถึงชุดของ ".",",","/","-" เราแค่เข้ารหัสข้อความจากข้อความเป็นสัญลักษณ์และถอดรหัสจากสัญลักษณ์เป็นภาษาอังกฤษ

พจนานุกรมมีดังต่อไปนี้

'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':'-----', ', ':'--..--, '.':'.-.-.-','?':'..--..', '/':'-..-.', '-':'-....-' ,'(':'-.--.', ')':'-.--.-'}

ตัวอย่าง

ข้อความคือ PYTHON-PROGRAMOutput คือ .-- -.-- - .... --- -. -....- .--. .-. -----. .-. .- --

อัลกอริทึม

การเข้ารหัส

ขั้นตอนที่ 1:เมื่อระบุสตริง ขั้นแรกเราจะแยกตัวอักษรแต่ละตัวออกจากคำและจับคู่กับพจนานุกรมรหัสมอร์ส จากนั้นเราพิจารณารหัสที่ตรงกับตัวอักษรนั้น ขั้นตอนที่ 2:ขั้นตอนต่อไปคือการจัดเก็บโค้ดลงในตัวแปร และเราต้องปฏิบัติตามนั้นควรรักษาช่องว่างหนึ่งช่องระหว่างรหัสมอร์สทุกรหัส ขั้นตอนที่ 3:ควรเว้นช่องว่างสองช่องระหว่างทุกคำ

ถอดรหัส

ขั้นตอนที่ 1:ขั้นแรก เราเพิ่มช่องว่างที่ส่วนท้ายของสตริง ขั้นตอนที่ 2:ตอนนี้ เราสำรวจตัวอักษรแต่ละตัวของข้อความจนกว่าจะไม่พบช่องว่าง ขั้นตอนที่ 3:เมื่อเราได้ช่องว่างแล้ว ให้ตรวจสอบกับพจนานุกรมรหัสมอร์สและเก็บไว้ในตัวแปร .Step4:เมื่อได้ช่องว่าง 2 ช่องว่างติดต่อกัน เราจะเพิ่มช่องว่างอื่นให้กับตัวแปรของเราที่มีสตริงที่ถอดรหัสแล้ว ขั้นตอนที่5:เมื่อได้ช่องว่างสุดท้ายของข้อความ แสดงว่านี่คืออักษรตัวสุดท้ายของ Morse Code Generator

โค้ดตัวอย่าง

# -*- coding:utf-8 -*-"""Created on Tue Oct 2 11:21:31 2018@author:Satyajit"""# Dictionary displays the morse code chartMORSE_CODE_DICT ={ 'A':' .-', 'B':'-...', 'C':'-.-.', 'D':'-..', 'E':'.', 'F':' .-.', 'G':'--.', 'H':'....', 'ฉัน':'..', '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 การเข้ารหัส (ข้อความ):my_cipher ='' สำหรับ myletter ในข้อความ:if myletter !=' ':my_cipher +=MORSE_CODE_DICT[myletter] + ' ' อื่น:my_cipher +=' ' return my_cipher# ฟังก์ชันนี้ใช้เพื่อถอดรหัส# รหัสมอร์สเป็น Englishdef ถอดรหัส (ข้อความ):ข้อความ +=' ' decipher ='' mycitext ='' สำหรับ myletter ในข้อความ:# ตรวจสอบช่องว่าง if (myletter !=' '):i =0 mycitext +=myletter else:i +=1 if i ==2 :decipher +=' ' อื่น:ถอดรหัส +=list(MORSE_CODE_DICT.keys())[list(MORSE_CODE_DICT .values()).index(mycitext)] mycitext ='' return decipherdef main():my_message ="PYTHON-PROGRAM" output =การเข้ารหัส (my_message .upper()) พิมพ์ (เอาต์พุต) my_message =".--. -.-- - .... --- -. -....- .--. .-. -----. .-. .- -- " output =decryption(my_message) print (output)# ดำเนินการฟังก์ชันหลักถ้า __name__ =='__main__':main()

ผลลัพธ์

<ก่อนหน้า>.--. -.-- - .... --- -. -....- .--. .-. -----. .-. .- --PYTHON-PROGRAM