У вас буквы уже нормально вводятся. Проблема в том как вы их пытаетесь отображать. "%r" % s вызывает repr(s), которое вернёт текстовое представление объекта полезное для отладки.
В вашем случае, вы видите текстовое представление байтовой строки (все байты из не-ascii диапазона экранированы используя \xHH).
Чтобы напечатать, что raw_input() вернула, печатайте переменную напрямую:
s = raw_input(prompt)
print u'Получил', s
Если isinstance(prompt, unicode) и raw_input(prompt) не работает у вас (к примеру, UnicodeEncodeError выбрасывается), то используйте:
print prompt,
sys.stdout.flush()
Это достаточно, чтобы произвольные Unicode символы поддерживать, для ввода/вывода на системах с utf-8 locale (не Windows). На Windows, чтобы ввод/вывод работал даже для символов вне ANSI/OEM code pages в консоли (чтобы ввод на нескольких языках поддерживать, а не только язык Windows), можно использовать win-unicode-console пакет. См. ещё Проблемы с кодировкой Python 2.7
print u"Ответьте на вопрос", raw_input()но опять же она не работает если raw_input() назначить в переменнуюprint u"Ответьте на вопрос", var_2 = raw_input()В этом случае выдаст ошибку. Есть мысли как с этим бороться? – Vikentsi Apr 17 '17 at 19:40