学习目标:

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

解决方案代码:

class MyRectangle:def __init__(self, x, y, width, height):  # 添加一个实例属性self.x = xself.y = yself.width = widthself.height = heightdef input(self):if self.x == ' ' and self.y == ' ':self.x = 0self.y = 0print("输入为x={0},y={1},width={2},height={3}".format(self.x, self.y, self.width, self.height))else:if self.width == ' ' and self.height == ' ':self.width = 100self.height = 100print("输入为x={0},y={1},width={2},height={3}".format(self.x, self.y, self.width, self.height))else:print("输入为x={0},y={1},width={2},height={3}".format(self.x, self.y, self.width, self.height))def getArea(self):Area = self.width * self.heightprint("该矩形的面积为:", Area)def getPerimeter(self):Perimeter = (self.width + self.height) * 2print("该矩形的周长为:", Perimeter)def draw(self):import turtle as t#import turtlet.screensize(self.width * 3, self.height * 3, 'black')t.pensize(3)t.speed(1)t.color('pink')t.goto(self.x, self.y)t.pendown()t.forward(self.width)t.right(90)t.forward(self.height)t.right(90)t.forward(self.width)t.home()print("制图完成!")t.done()t1 = MyRectangle(2, 2, 300, 200)
t1.input()
t1.getArea()
t1.getPerimeter()
t1.draw()

运行结果:


本篇文章问题来自高淇老师python400集课后习题.新手上路多多指正!

Python基础学习笔记——设计一个名为MyRectangle的矩形类来表示矩形相关推荐

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

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

  2. Python基础学习笔记三

    Python基础学习笔记三 print和import print可以用,分割变量来输出 import copy import copy as co from copy import deepcopy ...

  3. Python基础学习笔记之(二)

    Python基础学习笔记之(二) zouxy09@qq.com http://blog.csdn.net/zouxy09 六.包与模块 1.模块module Python中每一个.py脚本定义一个模块 ...

  4. Python基础学习笔记之(一)

    Python基础学习笔记之(一) zouxy09@qq.com http://blog.csdn.net/zouxy09 前段时间参加微软的windows Azure云计算的一个小培训,其中Pytho ...

  5. Python基础学习笔记(一)

    Python基础学习笔记(一) 基本数据类型   整型(int):1.2.10--   浮点型(float):1.2.2.4.10.00--   布尔型(bool):True.False   字符串( ...

  6. Python 基础学习笔记 03

    Python基础系列 Python 基础学习笔记 01 Python 基础学习笔记 02 Python 基础学习笔记 03 Python 基础学习笔记 04 Python 基础学习笔记 05 文章目录 ...

  7. 8.Python基础学习笔记day8-正则表达式、网络编程、进程与线程

    8.Python基础学习笔记day8-正则表达式.网络编程.进程与线程 一.正则表达式 ''' 1. [1,2,3,4]中任意取3个元素排列: A43 = 4x3x2 = 24itertools.pe ...

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

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

  9. python基础学习笔记——完结

    文章目录 一. python概述 1.1 概述 1.2 优缺点 1.3 应用场景 二. python解释器和集成环境的安装 2.1. 编程语言分类 2.2 基本环境搭建 2.3 集成开发环境pycha ...

最新文章

  1. 任务的插入时间复杂度优化到 O(1),Timing Wheel时间轮是怎么做到的?
  2. tp点一共有多少_致命女人更新时间 致命女人第一季一共多少集在线观看地址
  3. python股票涨势_stock
  4. 2019-05-15 Java学习日记 day5
  5. 用VBA得到EXCEL表格中的行数和列数
  6. Java中接口、抽象类与内部类学习
  7. 2 打两拍verilog与Systemverilog编码
  8. linux磁盘iops限制,linux – 我需要多少IOPS?我的工作量瓶颈是存储
  9. java string 几个字节_java中字符串占几个字节
  10. Android 应用分屏
  11. NU Virgos(圣女天团)
  12. Docker概述与基本使用
  13. Java实现还原微博短链接
  14. 更高检测灵敏度的谷氨酰胺测定试剂盒
  15. 交通银行香港分行实施Linux前端系统的开发手记
  16. 2023年十大国际外汇交易平台排名揭晓!
  17. 技术经济学(刘秋华)(第三版)——第三章 经济型评价的基本要素
  18. 装了McAfee VirusScan Enterprise 8.0后FoxMail不能发邮件的解决办法
  19. 个人开发者如何在App中调起微信支付
  20. 精品微信小程序二手汽车拍卖系统+后台管理系统|前后分离VUE

热门文章

  1. 打工人,别着急摆烂,看看你到底值多少钱?
  2. 企业老板青睐于MBA,不止是学历镀金这么简单
  3. manjaro安装python_manjaro安装及基本配置
  4. JS手动实现事件代理
  5. Arcgis做空间连接
  6. redis发布订阅c接口_redis 发布订阅
  7. 如何在不重启电脑的情况下修改主机名
  8. 高企申报的好处及高新技术企业认定科技成果转化要求,补贴20-50万
  9. redis各个版本下载地址
  10. vue webpak版本 查看_vue版本以及webpack版本