2013-10-22 80 views
1

對不起我想學習Python,但我怎麼打印此行,這些(」,不會被打印蟒紋格式

代碼:

y = 7 
z = 7 - y 
print('you need ', z, 'more years of citizenship to become a US representative') 

結果:

('you need ', 6, 'more years of citizenship to become a US representative') 

,但我不想不必要parenthesizes,逗號和空格怪異。

感謝

+0

好像你正在使用Python-2.x。嘗試'打印'你需要',z'多年的國籍成爲美國代表''(去除周圍的括號)。 – falsetru

+0

@aIKid哪個輸入? – glglgl

+0

@glglgl從不知道。我的錯。 – aIKid

回答

1

你用括號包圍它創建兩個字符串和數量的tuple。然後,print接收元組並使用它始終用於元組的特殊格式打印它。 print在python 2.7.x是一個關鍵字,而不是一個功能,所以你不使用它的括號。

2

您正在使用Python2爲什麼括號和逗號獲得打印出來的理由是:
你有print後什麼是一個元組,分別是:

('you need ', z, 'more years of citizenship to become a US representative') 

這三個要素和Python的元組會以元組的形式打印出來,所以就是括號和逗號。
在Python 3中,括號不會被打印出來,因爲print從語言結構(或使用他們自己的單詞「語句」)更改爲一個函數,並且需要在其參數上使用括號。

要改變它在python2工作:

print 'you need ', z, 'more years of citizenship to become a US representative' 

print ('you need ' + str(z) + 'more years of citizenship to become a US representative') 
1

試試這個

print 'you need {0} more years of citizenship to ...'.format(z) 
1

你應該使用字符串格式化:

print 'you need %d more years of citizenship to become a US representative' % z' 

它將以Z

0

的值替代%d(表示數字)爲了給Python3準備,你可以在最高層

from __future__ import print_function 

添加到您的腳本,然後使用print作爲你在你的問題中所做的功能。