232k views
3 votes
Encodes a single English alphabet character into Morse code based on the character map file specified at the time this Morse Code object was* created. Lowercase and uppercase characters are treated equivalent* in the conversion to Morse code.

User Nsayer
by
7.0k points

1 Answer

0 votes

Answer: MORSE_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':'-----', ', ':'--..--', '.':'.-.-.-',

'?':'..--..', '/':'-..-.', '-':'-....-',

'(':'-.--.', ')':'-.--.-'}

Step-by-step explanation:

# Function to encrypt the string

# according to the morse code chart

def encrypt(message):

cipher = ''

for letter in message:

if letter != ' ':

# Looks up the dictionary and adds the

# correspponding morse code

# along with a space to separate

# morse codes for different characters

cipher += MORSE_CODE_DICT[letter] + ' '

else:

# 1 space indicates different characters

# and 2 indicates different words

cipher += ' '

return cipher

# Function to decrypt the string

# from morse to english

def decrypt(message):

# extra space added at the end to access the

# last morse code

message += ' '

decipher = ''

citext = ''

for letter in message:

# checks for space

if (letter != ' '):

# counter to keep track of space

i = 0

# storing morse code of a single character

citext += letter

# in case of space

else:

# if i = 1 that indicates a new character

i += 1

# if i = 2 that indicates a new word

if i == 2 :

# adding space to separate words

decipher += ' '

else:

# accessing the keys using their values (reverse of encryption)

decipher += list(MORSE_CODE_DICT.keys())[list(MORSE_CODE_DICT

.values()).index(citext)]

citext = ''

return decipher

# Hard-coded driver function to run the program

def main():

message = "GEEKS-FOR-GEEKS"

result = encrypt(message.upper())

print (result)

message = "--. . . -.- ... -....- ..-. --- .-. -....- --. . . -.- ... "

result = decrypt(message)

print (result)

# Executes the main function

if __name__ == '__main__':

main()

User ThreeFatCat
by
7.7k points