print ('%0.2f'+ % userUSD + '= %0.2f' + %Euro + 'Euro')
我正在使用python 3.3,在制作一个非常简单的货币转换器时,我偶然发现了这个语法错误。你能告诉我怎么能解决这个问题并在这种情况下写出正确的方法来打印浮点数?
答案 0 :(得分: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 :(得分:1)
print ('%0.2f USD = %0.2f Euro' % (USD, Euro))
答案 2 :(得分:1)
这是使用str.format()编写Python 3格式字符串的正确方法:
print("{:0.2f} = {:0.2f} Euro".format(userUSD, Euro))
这会分解为获取每个位置值并将其格式化为两位小数,就像上面的%
一样。
答案 3 :(得分:0)
print ('%0.2f USD = %0.2f Euro' % (USD, Euro))
格式化字符串位于一对引号内。然后变量以%符号后的列表形式出现。