решить на языке Python: Секретный шифр
Вы подозреваете, что роботы что-то замышляют. Придётся прочесть их секретные сообщения.
Шифр они придумали невероятно сложный: буква А заменяется на 🍉, буква Б — на 🍌 и так далее. «Несъедобные» буквы (например, Е) не заменяются.
Список «съедобных» букв:
АБВГДКЛМОПСТЯ.
И их замены:
🍉🍌🍒🍐🍈🍓🍋🥕🥒🍅🥬🎃🍎.
Расшифруйте и выведите все сообщения.
Программное содержание по ФРП:
обработка символьных данных.
Решение на Python для расшифровки секретного шифра
Идея:
- построить словарь, сопоставляющий каждому «съедобному» эмодзи соответствующую русскую букву (А, Б, В, Г, Д, К, Л, М, О, П, С, Т, Я).
- прочитав входной текст (можно несколько строк), заменить каждый эмодзи на букву, оставив все остальные символы без изменений.
- это корректно работает для нескольких сообщений подряд и сохраняет пробелы и переносы строк.
Сопоставление (по задаче):
- А -> 🍉
- Б -> 🍌
- В -> 🍒
- Г -> 🍐
- Д -> 🍈
- К -> 🍓
- Л -> 🍋
- М -> 🥕
- О -> 🥒
- П -> 🍅
- С -> 🥬
- Т -> 🎃
- Я -> 🍎
Код (Python 3):
```python
import sys
def decode_secret_cipher(text: str) -> str:
emoji_to_letter = {
'🍉': 'А',
'🍌': 'Б',
'🍒': 'В',
'🍐': 'Г',
'🍈': 'Д',
'🍓': 'К',
'🍋': 'Л',
'🥕': 'М',
'🥒': 'О',
'🍅': 'П',
'🥬': 'С',
'🎃': 'Т',
'🍎': 'Я',
}
# Заменяем каждую встречающуюся эмодзи на соответствующую букву,
# остальные символы (пробелы, знаки препинания, новая строка) остаются как есть.
return ''.join(emoji_to_letter.get(ch, ch) for ch in text)
def main():
data = sys.stdin.read() # читаем всё входное содержимое (множество сообщений)
sys.stdout.write(decode_secret_cipher(data))
if __name__ == '__main__':
main()
```
Как использовать:
- Запустите программу и передайте ей входные данные через стандартный ввод (например, файл с закодированными сообщениями).
- Пример: cat encoded.txt | python decode.py
- Программа выведет расшифрованные сообщения, сохраняется формат строк (переносы строк, пробелы).
Примечания:
- Если в тексте встречаются символы, не соответствующие шифру (например, буква Е или другие латинские/неперекодированные символы), они остаются без изменений, как и задумано.
- Вход может содержать несколько сообщений; программа расшифрует весь текст целиком.