+1 (315) 557-6473 

Create a Program to Convert English to Morse Code in Python Assignment Solution.


Instructions

Objective
Write a program to convert english to morse code in python language.

Requirements and Specifications

program to convert english to morse code in python program to convert english to morse code in python 1

Source Code

import winsound # used to reproduce the morse code with sound

import time

# Dictionary representing the morse code chart

MORSE_CODE_ALPHABET = {

    '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 textToMorse(message):

    """

    This function translates a text to morse code

    :param message: string containing text

    :return: string containing the message in morse

    """

    if len(message) < 1: # message is empty

        return ""

    # First, convert the message to lower case

    message = message.lower()

    result = [] # here we will store the encrypted message

    # Iterate through each char

    for c in message:

        if c != ' ':

            if c in MORSE_CODE_ALPHABET:

                result.append(MORSE_CODE_ALPHABET[c])

    return result

def beep(duration):

    """

    This function plays a beep

    :return: None

    """

    frequency = 550

    winsound.Beep(frequency, duration)

def sleep(duration):

    """

    This function pauses the code. Used to pause the sound between beeps

    :param duration: integer containing the duration in ms

    :return:

    """

    time.sleep(duration/1000)

def playMorseCode(morse_array):

    """

    This function received a string containing a morse code and plays it

    :param message: list containing the morse-code of each letter

    :return: None

    """

    N = len(morse_array)

    if N < 1:

        return None

    for letter in morse_array:

        for c in letter: # iterate through the dots and dash of each letter

            if c == '.': # char is dot

                beep(60)

                sleep(100)

            elif c == '-': # char is dash

                beep(300)

                sleep(100)

        sleep(700) # sleep 700 ms between each word

if __name__ == '__main__':

        morse = textToMorse("Hello, this is a test for the morse code!")

        print(morse)

        playMorseCode(morse)