老师,麻烦帮忙看一下,我的代码一直报44行错误,

来源:2-6 编程练习

慕婉清5162727

2019-07-10 21:23:53

class  Point(object):

    # 自定义Point类的构造(初始化)方法

    def __init__(self,x,y):

        self.x = x

        self.y = y


    # 自定义Point类对象的格式化输出函数(string())

    def string(self):

        print('{X:{0},Y:{1}}'.format(self.x,self.y))


class  Circle(Point):

    # 自定义Circle类的构造(初始化)方法

    def __init__(self,x,y,radius):

        super(Circle,self).__init__(x,y)

        self.radius=radius


    # 自定义Circle类对象的格式化输出函数(string())

    def string():

        print('该图形初始化点为:{X:{0}, Y:{1}}; {半径为:{2}}'.format(self.x,self.y,self.radius))

    

class Size(object):

    # 自定义Size类的构造(初始化)方法

    def __init__(self,width,height):

        self.width=width

        self.height=height

    

    # 自定义Size类对象的格式化输出函数(string())

    def string():

        print('{Width:{0},Height:{1}'.format(self.width,self.height))

    

class Rectangle(Point, Size):


    # 自定义Rectangle类的构造(初始化)方法,并在方法中调用父类的初始化方法以完成初始化

    def __init__(self,x,y,width,height):

        super(Rectangle,self).__init__(x,y,width,height)


    # 自定义Rectangle类对象的格式化输出函数(string())

    def string():

        print('该图形初始化点为:{X:{0}, Y:{1}}; 长宽分别为:{Width:{2}, Height:{3}}'.format(self.x,self.y,self.width,self.height))

    

if __name__ == "__main__":

    # 实例化Circle对象,圆心为(5,5),半径为8

    c=Circle(5,5,8)

    c.string()

    

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

    r1=Ractangle(15,15,15,15)

    r1.string()


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

    r2=Ractangle(40,30,11,14)

    r2.string()


写回答

2回答

慕猿梦

2019-07-11

同学,您好,您的代码有如下几处错误

(1)代码中的def string(self)方法缺少self参数,还有使用str.format输出花括号时:两个左花括号输出左花括号本身,两个右花括号输出右花括号本身。

参考方案:其他string根据下图作修改即可

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

(2)如果子类的参数分别属于不同的父类,需要使用类名进行调用。 

参考方案:

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

(3)实例化类时类名单词错误

参考方案:

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

在线编辑器虽然方便于用户操作,但是建议同学,遇到错误可以在pycharmIDE中运行下,pycharm中有冗错机制。

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

0

慕婉清5162727

提问者

2019-07-10

raceback (most recent call last):
 File "hello.py", line 44, in <module>
   c.string()
TypeError: string() takes 0 positional arguments but 1 was given

0

0 学习 · 8160 问题

查看课程