import collections
#создаем пустой словарь
our_words = {}
#берем OrderedDict из коллекций и используем, чтобы значения в словаре не выводились рандомно
our_words= collections.OrderedDict(our_words)
#добавляем значения, чтобы они были "учтены"
our_words["Кот"]="мягкий"
our_words["Диван"]="сидеть"
our_words["машина"]="ездит"
our_words["корова"]="мычит"
dlina = len(our_words)
kluychi = []
znacheniya = []
#финальный словарь, он тоже Ordered, чтобы значения не вывелись рандомно
final_list={}
final_list=collections.OrderedDict(final_list)
#заполняем вспомогательные списки цифрами, чтобы не было "out of range"
for i in range(dlina):
kluychi.append(i)
znacheniya.append(i)
#заполняем списки с конца, беря значения словаря по порядку. то есть, первый элемент our_words - это последний элемент в kluchi и znacheniya
#второй элемент our_words - это предпоследний в cluchi и znacheniya
#то есть, получаем два параллельных списка заполненных с конца значениями из словаря our_words
schet = len(our_words)-1
for i in our_words:
kluychi[schet]=i
znacheniya[schet]=our_words[i]
schet-=1
#заполняем наш "финальный" словарь ключами и значениями
#то есть, kluchi[i] возвращает значение ключа, например "кот", znachenie[i] возвращает например "мягкий"
#то есть, словарь принимает такой же вид, как и первый, но значения пишутся в обратном порядке, т.к. выше мы развернули списки
for i in range(dlina):
final_list[kluychi[i]]=znacheniya[i]
print("Старый:", our_words)
print("Новый ", final_list)
result = input("enter")
aW1wb3J0IGNvbGxlY3Rpb25zCgoj0YHQvtC30LTQsNC10Lwg0L/Rg9GB0YLQvtC5INGB0LvQvtCy0LDRgNGMCm91cl93b3JkcyA9IHt9CiPQsdC10YDQtdC8IE9yZGVyZWREaWN0INC40Lcg0LrQvtC70LvQtdC60YbQuNC5INC4INC40YHQv9C+0LvRjNC30YPQtdC8LCDRh9GC0L7QsdGLINC30L3QsNGH0LXQvdC40Y8g0LIg0YHQu9C+0LLQsNGA0LUg0L3QtSDQstGL0LLQvtC00LjQu9C40YHRjCDRgNCw0L3QtNC+0LzQvdC+Cm91cl93b3Jkcz0gY29sbGVjdGlvbnMuT3JkZXJlZERpY3Qob3VyX3dvcmRzKQoj0LTQvtCx0LDQstC70Y/QtdC8INC30L3QsNGH0LXQvdC40Y8sINGH0YLQvtCx0Ysg0L7QvdC4INCx0YvQu9C4ICLRg9GH0YLQtdC90YsiCm91cl93b3Jkc1si0JrQvtGCIl09ItC80Y/Qs9C60LjQuSIKb3VyX3dvcmRzWyLQlNC40LLQsNC9Il09ItGB0LjQtNC10YLRjCIKb3VyX3dvcmRzWyLQvNCw0YjQuNC90LAiXT0i0LXQt9C00LjRgiIKb3VyX3dvcmRzWyLQutC+0YDQvtCy0LAiXT0i0LzRi9GH0LjRgiIKCgoKZGxpbmEgPSBsZW4ob3VyX3dvcmRzKQprbHV5Y2hpID0gW10Kem5hY2hlbml5YSA9IFtdCiPRhNC40L3QsNC70YzQvdGL0Lkg0YHQu9C+0LLQsNGA0YwsINC+0L0g0YLQvtC20LUgT3JkZXJlZCwg0YfRgtC+0LHRiyDQt9C90LDRh9C10L3QuNGPINC90LUg0LLRi9Cy0LXQu9C40YHRjCDRgNCw0L3QtNC+0LzQvdC+CmZpbmFsX2xpc3Q9e30KZmluYWxfbGlzdD1jb2xsZWN0aW9ucy5PcmRlcmVkRGljdChmaW5hbF9saXN0KQoKI9C30LDQv9C+0LvQvdGP0LXQvCDQstGB0L/QvtC80L7Qs9Cw0YLQtdC70YzQvdGL0LUg0YHQv9C40YHQutC4INGG0LjRhNGA0LDQvNC4LCDRh9GC0L7QsdGLINC90LUg0LHRi9C70L4gIm91dCBvZiByYW5nZSIKZm9yIGkgaW4gcmFuZ2UoZGxpbmEpOgogICAga2x1eWNoaS5hcHBlbmQoaSkKICAgIHpuYWNoZW5peWEuYXBwZW5kKGkpCgoKI9C30LDQv9C+0LvQvdGP0LXQvCDRgdC/0LjRgdC60Lgg0YEg0LrQvtC90YbQsCwg0LHQtdGA0Y8g0LfQvdCw0YfQtdC90LjRjyDRgdC70L7QstCw0YDRjyDQv9C+INC/0L7RgNGP0LTQutGDLiDRgtC+INC10YHRgtGMLCDQv9C10YDQstGL0Lkg0Y3Qu9C10LzQtdC90YIgb3VyX3dvcmRzIC0g0Y3RgtC+INC/0L7RgdC70LXQtNC90LjQuSDRjdC70LXQvNC10L3RgiDQsiBrbHVjaGkg0Lggem5hY2hlbml5YQoj0LLRgtC+0YDQvtC5INGN0LvQtdC80LXQvdGCIG91cl93b3JkcyAtINGN0YLQviDQv9GA0LXQtNC/0L7RgdC70LXQtNC90LjQuSDQsiBjbHVjaGkg0Lggem5hY2hlbml5YQoj0YLQviDQtdGB0YLRjCwg0L/QvtC70YPRh9Cw0LXQvCDQtNCy0LAg0L/QsNGA0LDQu9C70LXQu9GM0L3Ri9GFINGB0L/QuNGB0LrQsCDQt9Cw0L/QvtC70L3QtdC90L3Ri9GFINGBINC60L7QvdGG0LAg0LfQvdCw0YfQtdC90LjRj9C80Lgg0LjQtyDRgdC70L7QstCw0YDRjyBvdXJfd29yZHMKc2NoZXQgPSBsZW4ob3VyX3dvcmRzKS0xCmZvciBpIGluIG91cl93b3JkczoKICAgIGtsdXljaGlbc2NoZXRdPWkKICAgIHpuYWNoZW5peWFbc2NoZXRdPW91cl93b3Jkc1tpXQogICAgc2NoZXQtPTEKCiPQt9Cw0L/QvtC70L3Rj9C10Lwg0L3QsNGIICLRhNC40L3QsNC70YzQvdGL0LkiINGB0LvQvtCy0LDRgNGMINC60LvRjtGH0LDQvNC4INC4INC30L3QsNGH0LXQvdC40Y/QvNC4CiPRgtC+INC10YHRgtGMLCBrbHVjaGlbaV0g0LLQvtC30LLRgNCw0YnQsNC10YIg0LfQvdCw0YfQtdC90LjQtSDQutC70Y7Rh9CwLCDQvdCw0L/RgNC40LzQtdGAICLQutC+0YIiLCB6bmFjaGVuaWVbaV0g0LLQvtC30LLRgNCw0YnQsNC10YIg0L3QsNC/0YDQuNC80LXRgCAi0LzRj9Cz0LrQuNC5Igoj0YLQviDQtdGB0YLRjCwg0YHQu9C+0LLQsNGA0Ywg0L/RgNC40L3QuNC80LDQtdGCINGC0LDQutC+0Lkg0LbQtSDQstC40LQsINC60LDQuiDQuCDQv9C10YDQstGL0LksINC90L4g0LfQvdCw0YfQtdC90LjRjyDQv9C40YjRg9GC0YHRjyDQsiDQvtCx0YDQsNGC0L3QvtC8INC/0L7RgNGP0LTQutC1LCDRgi7Qui4g0LLRi9GI0LUg0LzRiyDRgNCw0LfQstC10YDQvdGD0LvQuCDRgdC/0LjRgdC60LgKZm9yIGkgaW4gcmFuZ2UoZGxpbmEpOgogICAgZmluYWxfbGlzdFtrbHV5Y2hpW2ldXT16bmFjaGVuaXlhW2ldCgpwcmludCgi0KHRgtCw0YDRi9C5OiIsIG91cl93b3JkcykKcHJpbnQoItCd0L7QstGL0LkgIiwgZmluYWxfbGlzdCkKCiAgICAKcmVzdWx0ID0gaW5wdXQoImVudGVyIikK
Старый: OrderedDict([('Кот', 'мягкий'), ('Диван', 'сидеть'), ('машина', 'ездит'), ('корова', 'мычит')])
Новый OrderedDict([('корова', 'мычит'), ('машина', 'ездит'), ('Диван', 'сидеть'), ('Кот', 'мягкий')])
enter
Traceback (most recent call last):
File "./prog.py", line 47, in <module>
EOFError: EOF when reading a line