2012-12-01 19 views
2

我想換顏色輸入引號蟒之內:將輸入轉換爲字符串在Python

def main(): 
    colour = input("please enter a colour") 

所以,如果我進入紅在輸入框中會自動使得「紅色」

我也不太清楚如何做到這一點,那將是沿着線的東西:

def main(): 
    colour = """ + input("please enter a colour") + """ 

親切的問候

回答

5

的我這是因爲Python認爲第二個"是字符串的末尾(在你的文章中的語法突出顯示了它是如何被解釋的),所以這不會在語法上傳遞。最好的解決方案是使用單引號字符串:'"'

或者,你可以逃脫字符(如果你願意這樣做,例如,在一個字符串中使用兩種類型的報價)用反斜槓:"\""

做這樣的一個值的插入的一個很好的方式,而不是字符串的許多並置,是使用str.format

colour = '"{}"'.format(input("please enter a colour")) 

這可以做很多事情,但在這裏,我們只是用它來插入我們在我們把{}傳遞值。 (請注意,在2.7之前,你需要給出插入參數的編號,例如:{0},在這種情況下,如果你沒有給出這個參數,Python就會使用下一個值)。

請注意,在Python 2.x中,您將需要raw_input()而不是如在2.x中的input(),後者將輸入評估爲Python,這可能會導致不好的結果。在3.x中,行爲是固定的,因此input()的行爲與在2.x中的raw_input()一樣。

+0

+1你解釋得比我做得好 – arshajii

+0

@ A.R.S。乾杯,我在你的帖子中添加了關於「raw_input()」的內容,以防提交者使用2.x. –