Advertisement
Guest User

Morse

a guest
Jan 20th, 2020
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. MorseCode = {'a': '.-', "а": ".-",
  2.              'b': '-...', "б": "-...",
  3.              'c': '-.-.', "в": ".--",
  4.              'd': '-..', "г": "--.",
  5.              'e': '.', "д": "-..",
  6.              'f': '..-.', "е": ".",
  7.              'g': '--.', "ж": "...-",
  8.              'h': '....', "з": "--..",
  9.              'i': '..', "и": "..",
  10.              'j': '.---', "й": ".---",
  11.              'k': '-.-', "к": "-.-",
  12.              'l': '.-..', "л": ".-..",
  13.              'm': '--', "м": "--",
  14.              'n': '-.', "н": "-.",
  15.              'o': '---', "р": ".-.",
  16.              'p': '.--.', "с": "...",
  17.              'q': '--.-'', "т": "-",
  18.             'r': '.-.', "у": "..-",
  19.             's': '...', "ф": "..-.",
  20.             't': '-', "х": "....",
  21.             'u': '..-', "ц": "-.-.",
  22.             'v': '...-', "ч": "---.",
  23.             'w': '.--', "ш": "----",
  24.             'x': '-..-', "щ": "--.-",
  25.             'y': '-.--', "ъ": ".--.-.",
  26.             'z': '--..', "э": "...-...",
  27.             "ы": "-.--", "ь": "-..-", "я": ".-.-", "о": "---",
  28.             "п": ".--.", "ю": "..--",
  29.             "1": ".----", "2": "..---", "3": "...--", "4": "....-",
  30.             "5": ".....", "6": "-....", "7": "--...",
  31.             "8": "---..", "9": "----.", "0": "-----"}
  32.  
  33. def decode_from_Morse(code): #Функция декодировки
  34.    d = {}
  35.    for j in MorseCode:
  36.        d[MorseCode.get(j)] = j #Создаётся "перевёрнутый" словарь
  37.    decode = [d.get(j) for j in code.split()]
  38.    need = ''.join(i for i in decode) #Декодированный текст склеивается в одну строку
  39.    return need
  40.  
  41. def encode_to_Morse(text):
  42.    text = text.lower().split()
  43.    answer = []
  44.    for letter in text:
  45.        answer.append(MorseCode[letter])
  46.    boomer = " ".join(answer)
  47.    return boomer
  48.  
  49. def main(): #Главная часть кода
  50.    print('Ты будешь "декодировать" или "кодировать"?')
  51.    if input() == "декодировать": #Спрашивается, что выполнить. Далее ссылки на другие функции.
  52.        print(decode_from_Morse(input()))
  53.    else:
  54.        text = input()
  55.        print(encode_to_Morse(input()))
  56.        
  57. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement