导师帮看看代码!

来源:2-6 编程练习

陈小莫

2020-06-08 21:21:50

class Point(object):
    # 自定义Point类的构造(初始化)方法
    def __init__(self, x, y):
        self.x = x
        self.y = y

    # 自定义Point类对象的格式化输出函数(string())
    def string(self):
        str_point = "{{X:{0}, Y:{1}}}".format(self.x, self.y)
        return str_point


class Circle(Point):
    # 自定义Circle类的构造(初始化)方法
    def __init__(self, x, y, radius):
        super().__init__(x, y)
        self.radius = radius

    # 自定义Circle类对象的格式化输出函数(string())
    def string(self):
        Point.string(self)
        print("该图形初始化点为:{0};半径为{1}".format(Point.string(self), self.radius))


class Size(object):
    # 自定义Size类的构造(初始化)方法
    def __init__(self, width, height):
        self.width = width
        self.height = height

    # 自定义Size类对象的格式化输出函数(string())
    def string(self):
        str_size = "{{Width:{0}, Height:{1}}}".format(self.width, self.height)
        return str_size


class Rectangle(Point, Size):
    # 自定义Rectangle类的构造(初始化)方法,并在方法中调用父类的初始化方法以完成初始化
    def __init__(self, x, y, width, height):
        Point.__init__(self, x, y)
        Size.__init__(self, width, height)

    # 自定义Rectangle类对象的格式化输出函数(string())
    def string(self):
        Point.string(self)
        Size.string(self)
        print("该图形初始化点为:{0};长宽分别为{1}".format(Point.string(self), Size.string(self)))


if __name__ == "__main__":
    # 实例化Circle对象,圆心为(5,5),半径为8
    cir = Circle(5, 5, 8)
    cir.string()

    # 实例化Rectangle对象,顶点位置(15,15),长和宽分别为15和15
    rec = Rectangle(15, 15, 15, 15)
    rec.string()

    # 实例化Rectangle对象,顶点位置(40,30),长和宽分别为11和14
    rec2 = Rectangle(40, 30, 11 , 14)
    rec2.string()


写回答

1回答

时间,

2020-06-09

同学,你好。同学的代码是可以的,实现了相应功能。但还有细节问题需要注意:在输出半径时是要有大括号的

http://img.mukewang.com/climg/5edef61e09715dce11080464.jpg

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~

0

0 学习 · 8160 问题

查看课程