0

I tried to input and output Russian language in my file but failed it keeps displaying something like \xd0\x9f\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82' when I run it in Terminal inside of python with print \xd0\x9f\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82'

print "Привет!"
a = raw_input()
print "Как у тебя дела сегодня?"
a_1 = raw_input()
print "Понятно.Тогда у тебя есть планы вечром?"
a_2 = raw_input()
print "Пока."
a_3 = raw_input()
print "Давой завтра!"

print "Бывают люди бледные бывают тусклые бывают блестящие...Она только сказала \"%r\" \"%r\" \"%r\" \"%r\"... " %(
    a,a_1,a_2,a_3)

In Terminal:

MacBook-Pro:mystuff admin$ python ex11.py
Привет!
Привет
Как у тебя дела сегодня?
Нормально
Понятно Тогда у тебя есть планы вечром?
Да Я буду позвонить с другой 
Пока
Пока
Давой завтра
Бывают люди бледные бывают тусклые бывают блестящие...Она только сказала "'\xd0\x9f\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82'" "'\xd0\x9d\xd0\xbe\xd1\x80\xd0\xbc\xd0\xb0\xd0\xbb\xd1\x8c\xd0\xbd\xd0\xbe'" "'\xd0\x94\xd0\xb0 \xd0\xaf \xd0\xb1\xd1\x83\xd0\xb4\xd1\x83 \xd0\xbf\xd0\xbe\xd0\xb7\xd0\xb2\xd0\xbe\xd0\xbd\xd0\xb8\xd1\x82\xd1\x8c \xd1\x81 \xd0\x98\xd0\xbb\xd1\x8c\xd0\xbe\xd0\xb9'" "'\xd0\x9f\xd0\xbe\xd0\xba\xd0\xb0'"... 
Electro01
  • 25
  • 2
  • 5
  • `%r` calls `__repr__` on the string see also [here](https://stackoverflow.com/questions/6005159/when-to-use-r-instead-of-s-in-python). – syntonym Nov 23 '16 at 09:09

2 Answers2

0

You should use%s instead of %r.

What %r does is that it looks for a class function called __repr__ of the object and returns __repr__(). You input a string Привет, and its __repr__() returns those hex numbers, which is the internal representation of the string.

If you use %s, it then looks for another function called __str__, and it will returns the string in the correct way.

Or you could use

print "Бывают люди бледные бывают тусклые бывают блестящие...Она только сказала \"{}\" \"{}\" \"{}\" \"{}\"... ".format(a,a_1,a_2,a_3)
xtt
  • 857
  • 1
  • 8
  • 24
0

try %s instead of %r:

\"%s\" \"%s\" \"%s\" \"%s\"... " %(a,a_1,a_2,a_3)
Cherry
  • 71
  • 1
  • 1
  • 5