🎉 Glückwunsch! 🎉
Du hast die Aufgabe hervorragend gelöst! Es war schwierig, aber du hast die Lösung gefunden. Du bist dem Meister einen Schritt näher! Mach weiter so.
ProgerLib Python für alle
Morsecode — Dies ist eine Methode zur Kodierung von Symbolen mithilfe von Punkt- und Strichfolgen. Jeder Buchstabe, jede Zahl oder jedes Satzzeichen hat seinen eigenen eindeutigen Code.
Beim Erstellen von Nachrichten werden die Codes einzelner Buchstaben durch ein Leerzeichen getrennt. Wörter werden durch drei Leerzeichen getrennt. Zum Beispiel sieht die Nachricht "hi" so aus: .... ... Und die Nachricht "Hey Jude" — ..... --.----- ..--...
Es gibt auch einen speziellen Code für das Notsignal SOS, das ohne Unterbrechung gesendet wird: ···−−−···. Dieser Code sollte als ein einziges unteilbares Symbol "SOS" verarbeitet werden.
Ihre Aufgabe — Schreiben Sie ein Programm, das eine Zeile mit Morsecode als Eingabe nimmt und in einen für Menschen verständlichen Text dekodiert. Alle Buchstaben in der endgültigen Nachricht sollten Großbuchstaben sein. Zusätzliche Leerzeichen am Anfang oder Ende der Eingabezeile sollten ignoriert werden.
Eine Zeile, die eine Nachricht im Morsecode enthält. Symbole .
Eine Zeile & mdash; Dekodierte Nachricht in Großbuchstaben auf Englisch.
..... --.-- .--- ..--...
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))
🎉 Glückwunsch! 🎉
Du hast die Aufgabe hervorragend gelöst! Es war schwierig, aber du hast die Lösung gefunden. Du bist dem Meister einen Schritt näher! Mach weiter so.
AD
Werbung
Führe deinen Code aus...