2016-01-07 42 views
2

我正在學習艱難路上的示例11,我只是好奇如何使用高度部分的轉義序列。如果我詢問有多高,並且有人用腳和英寸鍵入6'2「作爲引號,我如何在那裏得到不會在運行時顯示反斜槓的內容?當您運行它時,原始輸入將打印出像6 \ 「2" 。我已經嘗試了一些東西,不能無所事事。Learn Python the Hard Way示例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(...你。在Python文檔的repr()功能

2

在這個練習中你打電話問你的raw_input從(變量「高度」,現在有一個值獲得的信息


更多信息「6」 2" ‘),並打印出來的句子裏面,通過使用%r

有不同的’%'你可以使用類型和%r會給你一種‘字符串的原始’表示。Zed的要求你找出%r和之間的區別已經有3210和%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可讓您插入(並可能格式化)字符串。

相關問題