《python语言程序设计》2018版第7章第05题几何:正n边形,一个正n边形的边都有同样的长度。角度同样 设计RegularPolygon类

在这里插入图片描述

结果和代码 这里只涉及一个办法

在这里插入图片描述

方法部分

def main():
    rX, rY = eval(input("Enter regular polygon x and y axis:"))
    regular_num = eval(input("Enter regular number: "))
    side_long = eval(input("Enter side number: "))
    a = exCode07.RegularPolygon(regular_num, side_long,rX, rY)
    print(f"x: {rX} y: {rY} regular polygon  area is {a.getArea()} and perimeter{a.getPerimeter()}")


main()

类部分

class RegularPolygon:
    def __init__(self, n, side, x, y):此处没写默认值
    def __init__(self, n=3, side=1, x=0, y=0): 此处有默认值,别两个一起弄。哈哈哈

        self.n = n
        self.side = side
        self.x = x
        self.y = y

    def get_x(self):
        return self.x

    def set_x(self, x):
        self.x = x

    def get_y(self):
        return self.y

    def set_y(self, y):
        self.y = y

    def get_n(self):
        return self.n

    def set_n(self, n):
        self.n = n

    def get_side(self):
        return self.side

    def set_side(self, y):
        self.y = y

    def getArea(self):
        area_num1 = self.n * pow(self.side, 2)
        **注意这里别用// 
        area_num2 = 4 * math.tan(math.pi / self.n)
        area_total = area_num1 / area_num2
        return area_total

    def getPerimeter(self):

按书上要求的写三个对象
在这里插入图片描述

def main_2():
    a = exCode07.RegularPolygon()
    b = exCode07.RegularPolygon(6, 4)
    c = exCode07.RegularPolygon(10, 4, 5.6, 7.8)
    print(f"x: {a.x} y: {a.y} regular polygon  area is {a.getArea()} and perimeter{a.getPerimeter()}")
    print(f"x: {b.x} y: {b.y} regular polygon  area is {b.getArea()} and perimeter{b.getPerimeter()}")
    print(f"x: {c.x} y: {c.y} regular polygon  area is {c.getArea()} and perimeter{c.getPerimeter()}")

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

电饭叔

谢谢各位兄弟们的关注,谢谢破费

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

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

打赏作者

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

抵扣说明:

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

余额充值