利用 Python 尝试采用面向对象的设计方法。
(1)设计一个基类 Shape:
包含两个成员函数:
def cal_area(): 计算并返回该图形的面积,保留两位小数;
def cal_perimeter(): 计算并返回该图形的周长,保留两位小数。
def display(): 三行字符串,分别显示名称、面积、周长,数值四舍五入保留两
位小数,如下:
名称是 rect
面积是 6
周长是 10
包含三个变量:
name:表示名称,字符串类型;
area:表示面积,数字;
perimeter:表示周长,数字。
(2)设计三个派生类: Rectangle、 Triangle、 Circle;派生类分别实现基类中的两个成
员函数。
Rectangle:构造函数参数(n, a, b), n 为名称,其他均为浮点数,两位小数, a、 b 分
别代表长和宽。
Triangle:构造函数参数(n, a, b, c), n 为名称,其他均为浮点数,两位小数,代表三
边的长度。
Circle:构造函数参数(n, a), n 为名称, a 为浮点数,两位小数,代表圆的半径,圆
周率取 3.14 进行计算。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
#题目8:计算图形面积及周长
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

可直接联系客服QQ交代需求:953586085

欢迎光临程序代写小店https://item.taobao.com/item.htm?spm=a230r.1.14.59.255028c3ALNkZ0&id=586797758241&ns=1&abbucket=15#detail

欢迎点击链接加入群聊【程序代写-接单群】共同致富:https://jq.qq.com/?_wv=1027&k=5WxihsL

群号:733065427



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

利用 Python 尝试采用面向对象的设计方法计算图形面积及周长的更多相关文章

  1. 利用python批量修改word文件名的方法示例

    利用python批量修改word文件名的方法示例 最近不小心把硬盘给格式化了,由于当时的文件没有备份,所以一下所有的文件都没有了,于是只能采取补救措施,用文件恢复软件恢复了一部分的数据出来,但是恢复完 ...

  2. 利用C++中采用面向对象的思想顺序表

    最近在复习数据结构,我用面向对象的思想实现了顺序表,采用C++语言. 首先建立在Visual Studio 2017中建立一个工程,然后新建一个类SqList.然后会生成SqList.h和SqList ...

  3. 利用Python进行数据分析(6) NumPy基础: 矢量计算

    矢量化指的是用数组表达式代替循环来操作数组里的每个元素. NumPy提供的通用函数(既ufunc函数)是一种对ndarray中的数据进行元素级别运算的函数. 例如,square函数计算各元素的平方,r ...

  4. 利用python实现电影推荐

    "协同过滤"是推荐系统中的常用技术,按照分析维度的不同可实现"基于用户"和"基于产品"的推荐. 以下是利用python实现电影推荐的具体方法 ...

  5. 转利用python实现电影推荐

    “协同过滤”是推荐系统中的常用技术,按照分析维度的不同可实现“基于用户”和“基于产品”的推荐. 以下是利用python实现电影推荐的具体方法,其中数据集源于<集体编程智慧>一书,后续的编程 ...

  6. 利用python进行数据分析PDF高清完整版免费下载|百度云盘|Python基础教程免费电子书

    点击获取提取码:hi2j 内容简介 [名人推荐] "科学计算和数据分析社区已经等待这本书很多年了:大量具体的实践建议,以及大量综合应用方法.本书在未来几年里肯定会成为Python领域中技术计 ...

  7. 面向对象相关概念与在python中的面向对象知识(魔法方法+反射+元类+鸭子类型)

    面向对象知识 封装 封装的原理是,其成员变量代表对象的属性,方法代表这个对象的动作真正的封装是,经过深入的思考,做出良好的抽象(设计属性时用到),给出“完整且最小”的接口,并使得内部细节可以对外透明( ...

  8. python 面向对象、特殊方法与多范式、对象的属性及与其他语言的差异

    1.python 面向对象 文章内容摘自:http://www.cnblogs.com/vamei/archive/2012/06/02/2532018.html   1.__init__() 创建对 ...

  9. [python 译] 基于面向对象的分析和设计

    [python 译] 基于面向对象的分析和设计 // */ // ]]>   [python 译] 基于面向对象的分析和设计 Table of Contents 1 原文地址 2 引言 2.1 ...

随机推荐

  1. Python 操作MySQL 数据库

    Python 操作 MySQL 数据库 Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的 ...

  2. Spring Cloud Alibaba学习笔记(10) - Spring消息编程模型下,使用RocketMQ收发消息

    编写生产者 集成 添加依赖 <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId&g ...

  3. jmeter中生成UUID作为唯一标识符

    在测试过程中,我们有时候需要一个唯一不重复的值(比如order_id).我之前一直用的时间戳+计数器/随机函数拼接,但是有时候效果不太好,今天知道了UUID这玩意,可以来操作下.jmeter也提供了U ...

  4. SQL SERVER 中如何获取日期(一个月的最后一日、一年的第一日等等)

    https://blog.csdn.net/deepwishly/article/details/9101307 这是计算一个月第一天的SQL 脚本:   SELECT DATEADD(mm, DAT ...

  5. c++中配置多个环境的格式

    例:环境1=$(QTDIR)\bin 环境2=$(PATH) 环境3=E:\软件\办公\Vimba_2.1\VimbaCPP\Bin\Win64 具体配置为 PATH=$(QTDIR)\bin%3b$ ...

  6. 3_PHP表达式_4_PHP运算符

    以下为学习孔祥盛主编的<PHP编程基础与实例教程>(第二版)所做的笔记. 3.4.1 算术运算符 <?php $num1 = -10; $num2 = -4; $num3 = $nu ...

  7. 通过 Java 压缩文件,打包一个 tar.gz 采集器包

    一.如何通过 Java 打包文件 1.1 添加 Maven 依赖 <dependency> <groupId>org.apache.commons</groupId> ...

  8. PX4/Pixhawk uORB

    PX4/Pixhawk的软件体系结构主要被分为四个层次 应用程序的API:这个接口提供给应用程序开发人员,此API旨在尽可能的精简.扁平及隐藏其复杂性 应用程序框架:这是为操作基础飞行控制的默认程序集 ...

  9. MongoDB 无法启动

    提示 mongodb Mongod complains that there is no /data/db folder!! 解决方法:http://stackoverflow.com/questio ...

  10. 重构drf后的环境变量配置

    目录 环境变量 配置media 封装logger 封装项目异常处理 二次封装Response模块 环境变量 dev.py # 环境变量操作:小luffyapiBASE_DIR与apps文件夹都要添加到 ...