Я думаю, что вы не понимаете этот код.
Для всех ключей в dnory_reverse (для всех зашифрованных номеров) вы проверяете, содержит ли enc_str этот ключ и добавляет связанный дешифрованный номер в dec_list.
Заключение: вы забыли о порядке.
Я думаю, вам следует изменить dnory на это:
dnory = {'0': '~`', '1': '~``', '2': '~```', '3': '~````', '4': '~`````', '5': '~``````', '6': '~```````', '7': '~````````', '8': '~`````````', '9': '~``````````'}
и использовать split ('~') для enc_str для получения списка зашифрованные номера.
Я думаю, что я не должен описывать следующие шаги, но помните, что у вас есть «~» в dnory, чего нет в списке, созданном с помощью split ()
Полезные ссылки: - https://www.tutorialspoint.com/python/string_find.htm - https://www.tutorialspoint.com/python/string_split.htm
PS dict () не сортирует ключи в алфавитном порядке, но случайным образом, чтобы ваш код возвращал различные выходные данные.
# this is comment in Python
// not this