学习目标:

‘设计一个名为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 = x
        self.y = y
        self.width = width
        self.height = height

    def input(self):
        if self.x == ' ' and self.y == ' ':
            self.x = 0
            self.y = 0
            print("输入为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 = 100
                self.height = 100
                print("输入为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.height
        print("该矩形的面积为:", Area)

    def getPerimeter(self):
        Perimeter = (self.width + self.height) * 2
        print("该矩形的周长为:", Perimeter)

    def draw(self):
        import turtle as t
        #import turtle
        t.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集课后习题.新手上路多多指正!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐