如何解决这个Python字符串插值相关?

时间:2012-08-02 02:39:47

标签: python string-interpolation

我需要做一个python测验。

这是问题:

  

这里的挑战是编写一个返回a的函数format_point   表示2空间中的点的字符串。该功能需要三个   参数。前两个是表示的浮点数   点的x和y坐标以及第三个参数是整数   指定小数点后所需的位数。该   返回的字符串形式为“(23.176,19.235)”。例如,   以下三行代码应打印输出(0.67,17.12)。

我做的是:

>>> def coordinate(x,y,n):
...     str_x = format(x,"."+n+"f")
...     str_y = format(y,"."+n+"f")
...     print("("+str_x+","+str_y+")")
... 
>>> coordinate(10.242,53.124,2)

我收到了错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 2, in coordinate
TypeError: cannot concatenate 'str' and 'int' objects

我做错了什么?

1 个答案:

答案 0 :(得分:3)

  

无法连接'str'和'int'对象

尝试

format(str(x), "." + str(n) + "f")

format(str(x), ".%sf" % n)