-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmorse_code.py
More file actions
115 lines (110 loc) · 2.71 KB
/
morse_code.py
File metadata and controls
115 lines (110 loc) · 2.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
decode_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',
'-----': '0',
'.----': '1',
'..---': '2',
'...--': '3',
'....-': '4',
'.....': '5',
'-....': '6',
'--...': '7',
'---..': '8',
'----.': '9'
}
encode_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': '--..',
'0': '-----',
'1': '.----',
'2': '..---',
'3': '...--',
'4': '....-',
'5': '.....',
'6': '-....',
'7': '--...',
'8': '---..',
'9': '----.',
' ': '/'
}
def decode_morse_code(morse_code):
words = morse_code.split(' / ')
decoded_message = ''
for word in words:
letters = word.split(' ')
for letter in letters:
if letter in decode_morse_code_dict:
decoded_message += decode_morse_code_dict[letter]
decoded_message += ' '
return decoded_message.strip()
def encode_morse_code(message):
encoded_message = ''
for char in message:
if char.upper() in encode_morse_code_dict:
encoded_message += encode_morse_code_dict[char.upper()] + ' '
return encoded_message.strip()
# Main program loop
while True:
print("\n----- Morse Code Converter -----\n")
choice = input("Choose an option:\n 1. Decode Morse code into message\n 2. Encode message into Morse code\n 3. Exit\nEnter your choice: ")
if choice == '1':
morse_code = input("Enter Morse code: ")
decoded_message = decode_morse_code(morse_code)
print("Decoded message:", decoded_message)
elif choice == '2':
message = input("Enter a message: ")
encoded_message = encode_morse_code(message)
print("Encoded message:", encoded_message)
elif choice == '3':
print("Exiting the program...")
break
else:
print("Invalid choice. Please try again.")