# 设计一个名为 MyRectangle 的矩形类来表示矩形。这个类包含
# (1) 左上角顶点的坐标:x,y
# (2) 宽度和高度:width、height
# (3) 构造方法:传入 x,y,width,height。如果(x,y)不传则默认是 0,如果 width和 height 不传,则默认是 100.
# (4) 定义一个 getArea() 计算面积的方法
# (5) 定义一个 getPerimeter(),计算周长的方法
# (6) 定义一个 draw()方法,使用海龟绘图绘制出这个

解析:

  1. 定义一个矩形类MyRectangle,在该类的__init__()方法中定义4个实例属性,
  2. 然后再定义一个计算矩形面积的方法,一个计算矩形周长的方法,和一个绘制矩形的方法。
  3. 其中矩形的面积和周长通过返回值传出给
    turtle.write(self.getArea() + "\n")

    turtle.write(self.getPerimeter())
  4. 最后创建类的实例

代码如下:

class MyRectangle:'''# 设计一个名为 MyRectangle 的矩形类来表示矩形。这个类包含# (1) 左上角顶点的坐标:x,y# (2) 宽度和高度:width、height# (3) 构造方法:传入 x,y,width,height。如果(x,y)不传则默认是 0,如果 width和 height 不传,则默认是 100.# (4) 定义一个 getArea() 计算面积的方法# (5) 定义一个 getPerimeter(),计算周长的方法# (6) 定义一个 draw()方法,使用海龟绘图绘制出这个'''#构造方法def __init__(self,x = 0, y = 0, width = 100, height = 100):'''构造方法:传入 x,y,width,height。如果(x,y)不传则默认是 0,如果 width和 height 不传,则默认是 100.'''self.x = xself.y = yself.width = widthself.height = height#传入值内容方法def input(self):return "传入值为:x={0},y={1},width={2},height={3}".format(self.x, self.y, self.width, self.height)#面积计算方法def getArea(self):return "矩形的面积为:{0}".format(self.width * self.height)#周长计算方法def getPerimeter(self):return "矩形的周长为:{0}".format((self.width + self.height) * 2)def draw(self):import turtle                           #调用海龟绘图turtle.penup()                          #抬笔turtle.pensize(3)                       #笔尺寸3turtle.goto(self.x, self.y)             #x,y起始坐标turtle.pendown()                        #落笔turtle.forward(self.width)              #前行turtle.right(90)                        #向右转90度turtle.forward(self.height)turtle.right(90)turtle.forward(self.width)turtle.right(90)turtle.forward(self.height)turtle.write(self.input() + "\n"*2)     #书写传入的值turtle.write(self.getArea() + "\n")     #书写矩形的面积大小turtle.write(self.getPerimeter())       #书写矩形的周长长度turtle.done()                           #程序结束,保持窗口存在#创建将矩形类实例,并输入实参
rectangle = MyRectangle(12,34,111,222)
#使用海龟绘图绘制矩形
rectangle.draw()

运行结果

Python面向对象基础练习——设计一个名为 MyRectangle 的矩形类来表示矩形相关推荐

  1. Python基础学习笔记——设计一个名为MyRectangle的矩形类来表示矩形

    学习目标: '设计一个名为MyRectangle的矩形类来表示矩形,这个类包含: (1)左上角坐标:x,y (2)宽度和高度 (3)构造方法:传入x,y,width,height.如果(x,y)不传默 ...

  2. 设计一个名为 MyRectangle 的矩形类来表示矩形

    设计一个名为 MyRectangle 的矩形类来表示矩形.这个类包含 (1) 左上角顶点的坐标:x,y (2) 宽度和高度:width.height (3) 构造方法:传入 x,y,width,hei ...

  3. 设计一个名为complex的类来表示复数_complex类java解决

    作者:wzu_cza123 出自:CSDN 原文:blog.csdn.net/wzu_cza123/article/details/108857953?utm_medium=distribute.pc ...

  4. python股票预测的意义是什么_股票预测python,python 设计一个名为Stock的类来表示...

    python 设计一个名为Stock的类来表示一个公司的股票? class Stock(): def __init__(self): self.__no = "" self.__n ...

  5. Python面向对象基础(上)—Python Day7

    导入 --Python面向对象基础 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 面向对象 ...

  6. Python面向对象基础示例_创建对象

    Python面向对象基础示例_创建对象 python是面向对象的语言,你可以很轻松的创建一个类和对象.本书代码源自<<Python 3 Object-Oriented Programmin ...

  7. 设计一个名为Rectangle的矩形类,这个类包括:两个名为width和height的double数据域。

    设计一个名为Rectangle的矩形类,这个类包括:两个名为width和height的double数据域,它们分别表示矩形的宽和高.width和height的默认值都为1.该类包括矩形类的无参构造函数 ...

  8. Java黑皮书课后题第11章:11.2(Person Student Employee Faculty Staff类)设计一个名为Person的类及其两个名为Student和Employee的子类

    Java黑皮书课后题第11章:11.2(Person Student Employee Faculty Staff类) 题目 缺陷 UML图 代码 Test02_MyDate.java:用于参考的My ...

  9. Java黑皮书课后题第10章:*10.10(Queue类)10.6节给出一个Stock类。设计一个名为Queue的类用于存储整数。像栈一样,队列保存元素。在栈中,元素后进先出。队列中元素先进先出

    10.10(Queue类)10.6节给出一个Stock类,设计一个名为Queue的类用于存储整数 题目 程序 破题 代码 Test10.java Test10_Queue.java UML 题目 程序 ...

最新文章

  1. Ubuntu下安装Anaconda
  2. Angry Grammar Nazi
  3. 3D相机的数据处理方式
  4. 数字转换为字符的L受哪个参数影响
  5. ipp 实现图像空间的转换
  6. 聊聊高并发(三十六)Java内存模型那些事(四)理解Happens-before规则
  7. php 追查框架生命周期,ThinkPHP5框架的生命周期:从发出请求到响应完成
  8. redis:集群配置
  9. 如何简单描述java中的代理模式
  10. 锐捷交换机绑定IP地址
  11. 中兴新支点操作系统_国产操作系统崛起之作 中兴新支点OS解析
  12. esxi主机,提示“当前主机无管理网络冗余“报警。
  13. CW5141S1 TWM 测试例程
  14. Mybatis-There is no getter for property named 'tj' in 'class
  15. ruby 中的sort 和 sort_by
  16. 有了这款 GitHub 开源神器,以后再也不怕找不到电影资源啦!
  17. 如何将图片在线转换成文字?分享在线转换方法
  18. 最新版本 Stable Diffusion 开源 AI 绘画工具之汉化篇
  19. 台式机利用独立显卡连接两个显示器
  20. 4.网络配置与系统管理

热门文章

  1. Facebook Haystack 管理百亿照片
  2. 如何查看一个IP地址是哪里的
  3. 如何用老毛挑清除WINDOWS密码(以HP笔记本为例)
  4. ZBrush: Stylized Sculpting ZBrush教程之程序化的雕刻 Lynda课程中文字幕
  5. 中国大学MOOC(慕课)网课答案怎么查?
  6. EVE-ng模拟器安装教程和使用教程
  7. head和tail命令--用Enki学Linux系列(8)
  8. android实现悬停效果代码,Android StickListView实现悬停效果
  9. 影院在线选座购票API接口
  10. iTerm2终端集成git缩写意思