🎉 Félicitations ! 🎉
Tu as brillamment résolu la tâche ! C était difficile, mais tu as trouvé la bonne solution. Tu es encore plus proche de maîtriser la programmation ! Continue ainsi.
ProgerLib Python pour tous
Le code Morse — est une méthode de codage des symboles utilisant des séquences de points et de tirets. Chaque lettre, chiffre ou signe de ponctuation possède son propre code unique.
Lors de la composition des messages, les codes des lettres individuelles sont séparés par un espace. Les mots sont séparés par trois espaces. Par exemple, le message "HI" ressemblera à .... .. . Et le message "HEY JUDE" — .... . -.-- .--- ..- -.. . .
Il existe également un code spécial pour le signal de détresse SOS, qui est transmis sans espaces : · · · − − − · · · . Ce code doit être traité comme un seul symbole indivisible "SOS".
Votre tâche — est d'écrire un programme qui prend une ligne contenant du code Morse en entrée et la décode en un texte compréhensible pour un humain. Toutes les lettres du message final doivent être en majuscules. Les espaces supplémentaires au début ou à la fin de la ligne d'entrée doivent être ignorés.
Une ligne contenant un message en code Morse. Symboles .
Une ligne & mdash; Message décodé en majuscules en anglais.
..... --.-- .--- ..--...
hey jude
# Словарь для сопоставления кодов Морзе и символов.
# Включает специальный код для SOS.
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', '···−−−···':'SOS' }
def decode_morse(morse_code: str) -> str:
"""
Декодирует строку с кодом Морзе в человекочитаемый текст.
:param morse_code: Строка с кодом Морзе.
:return: Декодированная строка.
"""
# Удаляем лишние пробелы в начале и конце строки
morse_code = morse_code.strip()
decoded_message = []
# Разделяем сообщение на слова по трём пробелам
morse_words = morse_code.split(' ')
for morse_word in morse_words:
decoded_word = ''
# Разделяем слово на коды букв по одному пробелу
morse_letters = morse_word.split(' ')
for letter_code in morse_letters:
# Находим соответствующий символ в словаре
# Используем get для избежания ошибки, если код не найден
decoded_word += MORSE_CODE_DICT.get(letter_code, '')
decoded_message.append(decoded_word)
# Соединяем декодированные слова в одно предложение
return ' '.join(decoded_message)
# Пример использования из условия
input_morse = input()
print(decode_morse(input_morse))
🎉 Félicitations ! 🎉
Tu as brillamment résolu la tâche ! C était difficile, mais tu as trouvé la bonne solution. Tu es encore plus proche de maîtriser la programmation ! Continue ainsi.
AD
Publicité
Exécution de votre code...