print ('%0.2f'+ % userUSD + '= %0.2f' + %Euro + 'Euro')
我正在使用 python 3.3,在制作一个非常简单的货币转换器时,我偶然发现了这个语法错误。你们能告诉我如何解决这个问题并在这种情况下编写打印浮点数的正确方法吗?
print ('%0.2f'+ % userUSD + '= %0.2f' + %Euro + 'Euro')
我正在使用 python 3.3,在制作一个非常简单的货币转换器时,我偶然发现了这个语法错误。你们能告诉我如何解决这个问题并在这种情况下编写打印浮点数的正确方法吗?
语法错误是因为您连续使用了+
and运算符。%
当您%
用于字符串格式化时,您不希望+
在格式字符串及其参数之间。
所以,最基本的解决方法是去掉多余的+
字符:
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))
这是使用str.format()编写 Python 3 格式化字符串的正确方法:
print("{:0.2f} = {:0.2f} Euro".format(userUSD, Euro))
这分解为获取每个位置值并将其格式化为两位小数,就像您在%
上面所做的那样。
print ('%0.2f USD = %0.2f Euro' % (USD, Euro))
格式化的字符串包含在一对引号内。然后变量作为 % 符号后的列表出现。