14_python实例—计算图形面积及周长

复制代码
import math


class Shape:

    def __init__(self, name, area, perimeter):
        self.name = name
        self.area = area
        self.perimeter = perimeter

    def cal_area(self):
        pass

    def cal_perimeter(self):
        pass

    def display(self):
        print('名称:', self.name)
        print('面积:', self.area)
        print('周长:', self.perimeter)


class Rectangle(Shape):
    def __init__(self, n, a, b):
        self.n = n
        self.a = a
        self.b = b

    def cal_area(self):
        area = round(self.a * self.b, 2)

    def cal_perimeter(self, ):
        perimeter = round(2 * (self.a + self.b), 2)


class Triangle(Shape):
    def __init__(self, n, a, b, c):
        self.n = n
        self.a = a
        self.b = b
        self.c = c

    def cal_area(self):
        p = (self.a + self.b + self.c) / 2
        area = round(math.sqrt(p * (p - self.a) * (p - self.b) * (p - self.c)), 2)
        return area

    def cal_perimeter(self):
        perimeter = self.a + self.b + self.c
        return perimeter


class Circle(Shape):
    def __init__(self, n, a):
        self.n = n
        self.a = a

    def cal_perimeter(self):
        perimeter = round(2 * 3.14 * self.a, 2)
        return perimeter

    def cal_area(self):
        area = round(3.14 * self.a ** 2, 2)
        return area


if __name__ == '__main__':
    cir = Circle('cir', 3)
    result = Shape(cir.n, cir.cal_area(), cir.cal_perimeter())
    result.display()

    ret = Rectangle('ret', 4, 5)
    result = Shape(ret.n, ret.cal_area(), ret.cal_perimeter())
    result.display()

    tri = Triangle('tri', 2, 4, 5)
    result = Shape(tri.n, tri.cal_area(), tri.cal_perimeter())
    result.display()
复制代码

 

posted @   tuyin  阅读(813)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示