2013-10-11 48 views
0
print ('%0.2f'+ % userUSD + '= %0.2f' + %Euro + 'Euro') 

我使用python 3.3,同時製作了一個非常簡單的貨幣轉換器我偶然發現了這個語法錯誤。你們能告訴我怎麼能解決這個問題,並寫出正確的方式來打印浮點數在這種情況下?浮點數字python 3+

回答

3

的語法錯誤是因爲你連續使用兩個+%運營商。當您使用%進行字符串格式設置時,您不希望+位於格式字符串及其參數之間。

所以,最基本的解決將是擺脫多餘+字符:

print ('%0.2f' % userUSD + '= %0.2f' % Euro + 'Euro') 

但是,它可能會更有意義的格式字符串相結合,而且只做一個格式化操作:

print('%0.2f = %0.2f Euro' % (userUSD, Euro)) 

在新的代碼,雖然它通常建議使用更強大str.format格式化系統,而不是%操作:

print('{:.2f} = {:.2f} Euro'.format(userUSD, Euro)) 
1
print ('%0.2f USD = %0.2f Euro' % (USD, Euro)) 
0
print ('%0.2f USD = %0.2f Euro' % (USD, Euro)) 

格式化的字符串出現在一對引用中。變量以%符號後的列表形式出現。

1

這是用Python 3個格式的字符串的正確方法,使用str.format()

print("{:0.2f} = {:0.2f} Euro".format(userUSD, Euro)) 

這打破了採取每個位置值,並保留兩位小數格式化,就像你會與上述%