Python设计一个名为Triangle的类来扩展GeometricObject类,该类包含:三个名字为side1,side2,side3的浮点数据域表示三角形的三个边一个构造方法构造默认一个

【开发该软件的操作系统】:windows10

【软件开发环境/开发工具】:PyCharm

【编程语言】:Python

【开发目的】:这是老师布置的作业啦~ 供初学者参考学习

【开发者】:江西农业大学2020级大二学生


设计一个名为Triangle的类来扩展GeometricObject类,该类包含:

三个名字为side1,side2,side3的浮点数据域表示三角形的三个边

一个构造方法构造默认一个三角形,执行三边分别为1.0

三个数据域的访问器方法

一个获得面积的方法

一个获得周长的方法

一个对三角形的字符串描述


我的:

import math


class Triangle:
    def __init__(self, x0=3.0, y0=4.0, z0=5.0):
        self.side1 = x0
        self.side2 = y0
        self.side3 = z0

    def getSide1(self):
        return self.side1

    def getSide2(self):
        return self.side2

    def getSide3(self):
        return self.side3

    def getArea(self):
        fistNum = (self.side1 + self.side2 + self.side3) / 2
        S = math.sqrt(fistNum * (fistNum - self.side1) * (fistNum - self.side2) * (fistNum - self.side3))
        return S

    def getPeri(self):
        return self.side1 + self.side2 + self.side3

    def getScribe(self):
        return "Triangle:side1 = " + str(self.side1) + " side2 = " + str(self.side2) + " side3 = " + str(self.side3)


tr1 = Triangle(3.0, 4.0, 5.0)
print(tr1.getArea())
print(tr1.getPeri())
print(tr1.getScribe())

结果:

 老师的:

import abc

class GeometricObject(metaclass=abc.ABCMeta):
    def __init__(self):
        self.area = 0.0
        self.perimeter = 0.0

    @abc.abstractmethod
    def calcArea(self):
        pass
    @abc.abstractmethod
    def calcPerimeter(self):
        pass

class Triangle(GeometricObject):
    def __init__(self,side1=1.0,side2=1.0,side3=1.0):
        GeometricObject.__init__(self)
        self.side1 = side1
        self.side2 = side2
        self.side3 = side3

    @property
    def Side1(self):
        return self.side1
    @Side1.setter
    def Side1(self,val):
        self.side1 = val

    @property
    def Side2(self):
        return self.side2

    @Side2.setter
    def Side2(self, val):
        self.side2 = val

    @property
    def Side3(self):
        return self.side3

    @Side3.setter
    def Side3(self, val):
        self.side3 = val

    def calcArea(self):
        p = self.calcPerimeter()
        self.area = (p * (p-self.side1) * (p-self.side2) * (p-self.side3)) ** 0.5
        return self.area

    def calcPerimeter(self):
        self.permiter = self.side1 + self.side2 + self.side3
        return self.permiter



t = Triangle(3,4,5)
t.calcPerimeter()
t.calcArea()
print("三角形的三条边长是:",t.Side1,t.Side2,t.Side3)
print("三角形的周长是:",t.permiter)
print("三角形的面积是:",t.area)

结果:

 原文连接:

Python设计一个名为Triangle的类来扩展GeometricObject类

 共同进步,祝大家学有所成!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

米酒馆

鼓励鼓励,鼓励很重要啦~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值