Напиши решение задачи на Python: Вы подозреваете, что роботы что-то замышляют. Придётся прочесть их секретные сообщения.
Шифр они придумали невероятно сложный: буква А заменяется на 🍉, буква Б — на 🍌 и так далее. «Несъедобные» буквы (например, Е) не заменяются.
Список «съедобных» букв:
АБВГДКЛМОПСТЯ.
И их замены:
🍉🍌🍒🍐🍈🍓🍋🥕🥒🍅🥬🎃🍎.
Расшифруйте и выведите все сообщения.
Цель: дать подробное решение задачи на Python для расшифровки шифра, где буквы АБВГДКЛМОПСТЯ заменены на соответствующие эмодзи. Несъедобные буквы (например, Е) остаются без изменений.
Как работает решение
- Создаём сопоставление эмодзи к кириллическим буквам: 🍉 -> А, 🍌 -> Б, ..., 🍎 -> Я.
- Читaем входные строки (несколько сообщений может быть построчно) и заменяем только эмодзи на соответствующие буквы.
- Остальные символы (пробелы, буквы Е и т.д.) остаются без изменений.
- Выводим расшифрованные строки построчно.
Код (вариант через str.translate, простой и быстрый)
```python
# Расшифровка шифра: буквы АБВГДКЛМОПСТЯ -> соответствующие эмодзи
# А -> 🍉, Б -> 🍌, В -> 🍒, Г -> 🍐, Д -> 🍈, К -> 🍓, Л -> 🍋,
# М -> 🥕, О -> 🥒, П -> 🍅, С -> 🥬, Т -> 🎃, Я -> 🍎
TRANS = str.maketrans({
'🍉': 'А',
'🍌': 'Б',
'🍒': 'В',
'🍐': 'Г',
'🍈': 'Д',
'🍓': 'К',
'🍋': 'Л',
'🥕': 'М',
'🥒': 'О',
'🍅': 'П',
'🥬': 'С',
'🎃': 'Т',
'🍎': 'Я',
})
def main():
import sys
# Читаем построчно и выводим расшифрованное сообщение
for line in sys.stdin:
# translate заменяет только указанные эмодзи на буквы
print(line.translate(TRANS), end='')
if __name__ == '__main__':
main()
```
Как запускать
- Сохраните код в файл, например decode_messages.py.
- Запустите и передайте сообщение через ввод, например:
- python3 decode_messages.py < сообщения.txt
- Или вводите строки вручную: python3 decode_messages.py и потом вводите строки, завершив ввод Ctrl+D (на Linux/Mac) или Ctrl+Z (Windows).
Пример
- Вход:
- 🍉🍌🍒 Привет мир
- 🍎Я люблю зиму
- Выход:
- АБВ Привет мир
- Я люблю зиму
Примечания
- Несъедобные буквы, например Е, заменяться не будут, потому что в маппинге их нет (они остаются в строке как есть).
- Если в сообщении присутствуют другие символы (пользовательские emoji, цифры, пробелы), они остаются неизменными.