🎉 ¡Felicidades! 🎉
¡Has resuelto la tarea brillantemente! Era un reto difícil, pero encontraste la solución correcta. ¡Estás un paso más cerca de dominar la programación! Sigue así, cada etapa superada te hace más fuerte.
ProgerLib Python para todos
El código Morse — es una forma de codificar símbolos usando secuencias de puntos y rayas. Cada letra, número o signo de puntuación tiene su propio código único.
Al componer mensajes, los códigos de letras individuales se separan por un espacio. Las palabras se separan por tres espacios. Por ejemplo, el mensaje "hi" se verá así .... ... Y el mensaje "Hey Jude" — .... . -.-- .--- ..- -.. ..
También existe un código especial para la señal de socorro SOS, que se transmite sin espacios: ···−−−···. Este código debe ser procesado como un único símbolo indivisible "SOS".
Tu tarea — es escribir un programa que reciba una línea con código Morse como entrada y la decodifique en un texto comprensible para una persona. Todas las letras en el mensaje final deben estar en mayúsculas. Los espacios adicionales al principio o al final de la línea de entrada deben ser ignorados.
Una línea que contiene un mensaje en código Morse. Símbolos & nbsp; .
Una línea & mdash; Mensaje descifrado en mayúsculas en inglés.
..... --.-- .--- ..--...
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))
🎉 ¡Felicidades! 🎉
¡Has resuelto la tarea brillantemente! Era un reto difícil, pero encontraste la solución correcta. ¡Estás un paso más cerca de dominar la programación! Sigue así, cada etapa superada te hace más fuerte.
AD
Publicidad
Ejecutando tu código...