Python入门——面向对象基础(章节实操作业)

Python入门——面向对象基础(章节实操作业)

1.

class Student:
    company = "Nak1l"  # 类属性
    count = 0  # 类属性

    def __init__(self, name, score):
        self.name = name  # 实例属性
        self.score = score
        Student.count = Student.count + 1

    def say_score(self):  # 实例方法
        print("我的公司是:", Student.company)
        print(self.name, '的分数是:', self.score)


s1 = Student('凇', 80)  # s1是实例象,自动调用__init__()方法
s1.say_score()
print('一共创建{0}个Student对象'.format(Student.count))  # 1个对象,就是 s1

在这里插入图片描述


2.设计一个名为 MyRectangle 的矩形类来表示矩形。这个类包含:

(1) 左上角顶点的坐标:x,y

(2) 宽度和高度:width、height

(3) 构造方法:传入x,y,width,height。如果(x,y)不传则默认是0,如果width 和height不传,则默认是100.

(4) 定义一个getArea() 计算面积的方法

(5) 定义一个getPerimeter(),计算周长的方法

(6) 定义一个draw()方法,使用海龟绘图绘制出这个矩形

import turtle


class MyRectangle:
    def __init__(self, x=0, y=0, width=100, height=100):
        self.x = x
        self.y = y
        self.width = width
        self.height = height

    def getArea(self, width=100, height=100):
        """
        矩形面积
        :param width: 长
        :param height: 高
        :return: 长 * 宽
        """
        return self.width * self.height

    def getPerimeter(self, width=100, height=100):
        """
        矩形周长
        :param width: 长
        :param height: 高
        :return: (长 + 宽) * 2
        """
        return (self.width + self.height) * 2

    def draw(self, x=0, y=0, width=100, height=100):
        """
        画出矩形
        :param x: 左上角坐标
        :param y: 左上角坐标
        :param width: 长
        :param height: 高
        :return:
        """
        p = turtle.Pen()
        p.width(2)
        p.penup()
        p.goto(self.x, self.y)
        p.pendown()
        p.goto(self.x, abs(self.y - height))
        p.pendown()
        p.goto(self.x + width, abs(self.y - height))
        p.pendown()
        p.goto(self.x + width, self.y)
        p.pendown()
        p.goto(self.x, self.y)
        p.pendown()

        turtle.done()


my_01 = MyRectangle(x=100, y=100, height=400, width=600)
print(my_01.getArea())
print(my_01.getPerimeter())
print(my_01.draw())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凇:)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值