返回值错误
>>> class Rectangle:def __init__(self,x,y):
self.x=x
self.y=y
def getPeri(self):
return (self.x+self.y)*2
def getArea(self):
return self.x*self.y
>>> a=Rectangle(2.34,1.29)
>>> a.getPeri()
7.26
>>> a.getArea()
3.0185999999999997
魔法方法第一节,代码 一样的,这个返回的不是应该是3.0186,结果程序给我的是3.0185999999997,为什么呢?{:10_243:} 精度问题。
你可以试试这样:
def getArea(self):
from decimal import Decimal
return Decimal(str(self.x)) * Decimal(str(self.y))
页:
[1]