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

我正在使用 python 3.3,在制作一个非常简单的货币转换器时,我偶然发现了这个语法错误。你们能告诉我如何解决这个问题并在这种情况下编写打印浮点数的正确方法吗?

4

4 回答 4

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))
于 2013-10-11T01:56:28.180 回答
1
print ('%0.2f USD = %0.2f Euro' % (USD, Euro))
于 2013-10-11T01:51:48.873 回答
1

这是使用str.format()编写 Python 3 格式化字符串的正确方法:

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

这分解为获取每个位置值并将其格式化为两位小数,就像您在%上面所做的那样。

于 2013-10-11T04:57:54.503 回答
0
print ('%0.2f USD = %0.2f Euro' % (USD, Euro))

格式化的字符串包含在一对引号内。然后变量作为 % 符号后的列表出现。

于 2013-10-11T01:59:37.730 回答