print ('%0.2f'+ % userUSD + '= %0.2f' + %Euro + 'Euro')
我使用python 3.3,同時製作了一個非常簡單的貨幣轉換器我偶然發現了這個語法錯誤。你們能告訴我怎麼能解決這個問題,並寫出正確的方式來打印浮點數在這種情況下?浮點數字python 3+
print ('%0.2f'+ % userUSD + '= %0.2f' + %Euro + 'Euro')
我使用python 3.3,同時製作了一個非常簡單的貨幣轉換器我偶然發現了這個語法錯誤。你們能告訴我怎麼能解決這個問題,並寫出正確的方式來打印浮點數在這種情況下?浮點數字python 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))
print ('%0.2f USD = %0.2f Euro' % (USD, Euro))
print ('%0.2f USD = %0.2f Euro' % (USD, Euro))
格式化的字符串出現在一對引用中。變量以%符號後的列表形式出現。
這是用Python 3個格式的字符串的正確方法,使用str.format():
print("{:0.2f} = {:0.2f} Euro".format(userUSD, Euro))
這打破了採取每個位置值,並保留兩位小數格式化,就像你會與上述%
。