0

我在python中输入了一个小函数,代码是

def perimeter(side1,side2,side3):
    ''' (number,number,number)->float
    return the sum of side1,side2 and side3
    >>>perimeter(1,2,3)
     6.0
    >>>perimeter(4,5,7.1)
    16.1 '''

    result = side1+side2+side3
    return result 

但是当我使用它时,结果不是 float 的形状,它就像 int 。我怎样才能使它在浮动排序?

(我不知道如何在这里形成代码窗口,请见谅)

4

4 回答 4

3

类型转换为浮动

def perimeter(side1, side2, side3):
    return float(side1 + side2 + side3)
于 2013-04-07T02:33:17.413 回答
2

添加整数将产生一个整数。您可以将其中一个或全部转换为浮点数,或将结果转换为浮点数:

return float(result)
于 2013-04-07T02:32:33.107 回答
1

也许如果他的错误在 之后仍然发生return float(side1 + side2 + side3),那么他必须在参数中指定边是浮点数。def perimeter(float(side1),float(side2),float(side3)):如果没有别的,也许这会起作用。

于 2013-04-07T02:38:12.960 回答
1

如果您希望每个结果都具有相同的精度,请尝试格式化

 return '%.3f' % result
于 2013-04-07T02:40:39.957 回答