87 lines
2.1 KiB
Plaintext
87 lines
2.1 KiB
Plaintext
class Morse:
|
|
def __init__(self):
|
|
self.characters = {
|
|
'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 switch_character(self, character):
|
|
encoded = ''
|
|
encoded += self.characters[character]
|
|
encoded += ' '
|
|
return encoded
|
|
|
|
|
|
def encode(self, text):
|
|
text = text.upper()
|
|
encoded_text = ''
|
|
for character in text:
|
|
encoded_text += self.switch_character(character)
|
|
|
|
return encoded_text
|
|
|
|
|
|
if __name__ == '__main__':
|
|
morse = Morse()
|
|
print(morse.encode('Siała baba mak, nie wiedziała jak.'))
|
|
print(morse.encode('żółć'))
|