2014-04-25 96 views
1

我是使用Python編程並使用2.7.5版本的新手。我運行下面的Python聲明在Python中指定項目分隔符

monthly_pay = 5000.0 
annual_pay = 12*monthly_pay 
print 'Your annual pay is $',format(annual_pay,',.2f') 

當我運行它,有$符號和金額60,000一個空間,我不希望這樣的空間,所以我曾嘗試使用

monthly_pay = 5000.0 
annual_pay = 12*monthly_pay 
print ('Your annual pay is $',format(annual_pay,',.2f'), sep= ' ') 

但在IDLE上顯示錯誤。我不明白爲什麼。任何人都可以幫忙嗎?

我也試着像 print('One', 'Two', 'Three', sep='')但同樣類似的聲明如上它顯示了我一個錯誤

+0

您在python2.x上。在文件的頂部放置'from __future__ import print_function'。這將允許您使用Python3.x語法,但您必須轉換所有'print'功能。 – SethMMorton

回答

0

在Python 2,你需要自己在連接字符串,如果你想避免空間:

print 'Your annual pay is $' + format(annual_pay, ',.2f') 

的代碼,你試過:

print('Your annual pay is $', format(annual_pay, ',.2f'), sep= ' ') 

將在Python 3工作,因爲print被闢爲功能,因此,可以採用關鍵字參數(如sep),但由於您使用的是Python 2,因此您必須以不同的方式進行操作。

2

您正在使用built-in functionformat(),但是您將通過使用字符串的format()method得到所需的結果。

print 'Your annual pay is ${}'.format(annual_pay,',.2f') 
0

comma增加了空間。您可以使用字符串格式化語法使用%s

>>> print 'Your annual pay is $%s' % format(annual_pay, ',.2f') 
Your annual pay is $60,000.00