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

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

时间:2024-08-17 18:23:06浏览次数:14  
标签:05 python self 边形 area regular RegularPolygon side def

在这里插入图片描述

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

在这里插入图片描述

方法部分

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()}")

在这里插入图片描述

标签:05,python,self,边形,area,regular,RegularPolygon,side,def
From: https://blog.csdn.net/m0_37228426/article/details/141284124

相关文章

  • 利用Python实现供应链管理中的线性规划与资源优化——手机生产计划1
    目录写在开头1.Python与线性规划的基础2.供应链管理中的资源优化3.利用Python进行供应链资源优化3.1简单的优化实例3.2考虑多种原材料3.3多种原材料、交付时间与物流融合的情况4.规范性分析在供应链管理中的应用价值写在最后写在开头在全球供应链日益复杂的背景......
  • 05--kubernetes组件与安装
    前言:终于写到kubernetes(k8s),容器编排工具不止k8s一个,它的优势在于搭建集群,也是传统运维和云计算运维的第一道门槛,这里会列出两种安装方式,详细步骤会在下文列出,文章很长,根据目录取用。1、kubernetes基础名词官网地址:Kubernetes中文网地址:Kubernetes中文网官网一个简单的k8s......
  • 使用 Python和 SQLite 打造一个简单的数据库浏览器
    在日常开发中,我们常常需要快速查看和操作SQLite数据库中的数据。虽然有许多现成的工具可以完成这一任务,但有时你可能想要一个更为简单、可定制的解决方案。在这篇博客中,我将带你一步步构建一个简单的SQLite数据库浏览器,它可以用来列出数据库中的表名、查看表的字段名、编写S......
  • 【Python】距离
    写了一个计算距离的脚本,常见距离基本都有。其中测地距离需要依赖曲面,Hausdorff距离之前有实现,而Wasserstei距离可以用sinkhorn方法求解。代码如下:importnumpyasnpdefEuclidean(a,b):returnnp.sqrt(np.sum((a-b)*(a-b)))defManhattan(a,b):returnnp.sum(n......
  • Python系列(5)- 命令行应用 (Command Line Application)
     使用Windows、iOS、Android、HarmonyOS等操作系统的设备,用户与这些设备主要通过图形用户界面(GUI)来交互,比如:鼠标、触屏等。一般用户很少使用这些系统的命令行界面(CLI),在Windows下是通过命令提示符(Cmd)窗口来实现CLI交互,其它系统通过终端(Terminal)窗口。 命令行界面(CLI......
  • Python导入包时提示“attempted relative import beyond top-level package”的解决办
    一篇很好的文章:python跨目录导包失败python不同路径导入包错误 在涉及到相对导入时,package所对应的文件夹必须正确的被python解释器视作package,而不是普通文件夹。否则由于不被视作package,无法利用package之间的嵌套关系实现python中包的相对导入。文件夹被python解释器视作......
  • Python入门之Lesson1:出发!
    目录前言一、Python简介二、环境搭建1.Python安装2.Pycharm安装三.运行总结前言本章会带领同学们了解和入门python。一、Python简介Python是一种高级编程语言,具有简洁明了的语法和丰富的库,非常适合初学者学习。Python的设计注重代码的可读性和简洁性,其语法类似......
  • 【Python系列】命令 • 合集
    文件传输Python2//将http:///FileName写入Path中python2-c"importurllib2;u=urllib2.urlopen('http:///FileName');f=open('Path','w');f.write(u.read());f.close()"//Python3//将http:///FileName写入Path中,这里要注意decode()中......
  • python安装
    下载安装python到官网下载最新版这里是3.12.5版本https://www.python.org/downloads/在安装Python时,系统环境变量的长度超出了操作系统所允许的限制,如下所示。环境变量通常用于存储系统或应用程序的配置信息,如路径等。如果这些变量的总长度超出了操作系统或文件系统所......
  • 005、Vue3+TypeScript基础,组合式API给子页面命名的2种方式
    01、App.vue代码如下:<template><divclass="app"><h1>好好学习,天天向上</h1><Person/></div></template><script>//JS或TSimportPersonfrom'./view/PersonNew.vue'exportdefault{......