class Polygon:
def __init__(self,*p):
self.p = p
def __repr__(self):
return perimeter()
def __str__(self):
return "perimeter is " + "{:>3.2f}".format(self.perimeter())
def perimeter(self):
p = self.p
#計算兩點距離(X1-X2)平方+(Y1-Y2)平方,開根號
i = len(p) - 1
d = ((p[0][0] - p[i][0]) ** 2 + (p[0][1] - p[i][1]) ** 2) ** 0.5
for i in range(1,len(p)):
d += ((p[i][0] - p[i-1][0]) ** 2 + (p[i][1] - p[i-1][1]) ** 2) ** 0.5
return d
triangle = Polygon((0,0), (3,0), (0,4))
diamond = Polygon((-1,0), (0,-1), (1,0), (0,1))
print(triangle.perimeter())
print(diamond.perimeter())
print(triangle)
print(diamond)
沒有留言:
張貼留言