2016-01-07 1 views
2

Я делаю пример 11 на Learn Hard Way, и мне просто интересно, как использовать escape-последовательность для части высоты. Если я спрошу, как высокий и кто-то типа в 6'2 "с ногой и дюймами, как цитаты, как я могу получить что-то там, что не будет показывать, что обратная косая черта при запуске? Когда вы запускаете его, сырой ввод выводится как 6 \ «2" . Я пробовал несколько вещей и не могу заставить работать.Учиться Python на жестком пути Пример 11

print "How tall are you?", 
    height = raw_input() 

ответ

1

Я думаю, что вы наблюдаете за представлением строки. Обратите внимание:

>>> height = raw_input() 
6'2'' <-- my input 
>>> height 
"6'2''" 
>>> print height 
6'2'' 

Когда вы просто введите height, он будет отображать представление строки (то есть, если вы должны были присвоить это значение в строку вы получите такой же, как на входе). Это также можно наблюдать с помощью функции repr():

>>> print repr(height) 
"6'2''" 

Или даже!

>>> repr(height) 
'"6\'2\'\'"' 

Так в основном, когда вы не вызываете print, питон в основном делает print repr(... для вас.


Более подробная информация на питон документы для repr() функции

2

В этом упражнении вы попросили назвать информацию, которую вы получили от raw_input (переменной высоты «», что теперь имеет значение «6» 2" „) и распечатать его в предложении, используя %r.

Есть разные“ % »типы, которые можно использовать, и %r даст вам вид„сырого“представления строки. Zed попросил вас для определения разницы между %r и %s и %d, так что вы должны быть знакомы с этим. Если нет, то читайте здесь:

What's the difference between %r, %s and %d in python?

What does %s mean in Python?

Чтобы ответить на ваш вопрос, это должно работать без проблем:

print "How tall are you?" 
height = raw_input() 

print "You are %s tall" % height 
0

Ответ на ваш вопрос:

print "How old are you?", 
age = raw_input() 
print "How tall are you?", 
height = raw_input() 
print "How much do you weigh?", 
weight = raw_input() 

print "So, you're %r old, %s tall and %r heavy." % (age, height, weight) 

%r дает вам необработанное представление данных, где %s дает вам возможность вставить (и, возможно, форматировать) строку.

Смежные вопросы