老师,麻烦帮忙看一下,我的代码一直报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回答
同学,您好,您的代码有如下几处错误
(1)代码中的def string(self)方法缺少self参数,还有使用str.format输出花括号时:两个左花括号输出左花括号本身,两个右花括号输出右花括号本身。
参考方案:其他string根据下图作修改即可
(2)如果子类的参数分别属于不同的父类,需要使用类名进行调用。
参考方案:
(3)实例化类时类名单词错误
参考方案:
在线编辑器虽然方便于用户操作,但是建议同学,遇到错误可以在pycharmIDE中运行下,pycharm中有冗错机制。
如果我的回答解决了您的疑惑,望采纳!!^_^ 祝学习愉快~~~~~
慕婉清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
相似问题
回答 3
回答 2