您好,请问出现Keyerror: 'X’是什么原因?

来源:2-6 编程练习

weixin_慕设计1308382

2020-01-15 00:14:06

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):
       Point.__init__(self,x,y)
       self.radius=radius
# 自定义Circle类对象的格式化输出函数(string())
   def string(self):
       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(self):
       print("{Width:{0}, Height:{1}}".format(self.width,self.height))


class Rectangle(Point, Size):
# 自定义Rectangle类的构造(初始化)方法,并在方法中调用父类的初始化方法以完成初始化
   def __init__(self,x,y,height,width):
       super(Rectangle,self).__init__(x,y)
       super(Rectangle,self).__init__(height,width)
# 自定义Rectangle类对象的格式化输出函数(string())
   def string(self):
       print("该图形初始化点为:{X:{}, Y:{}; 长宽分别为:{Width:{}, Height:{}}".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=Rectangle(15,15,15,15)
   r1.string()
# 实例化Rectangle对象,顶点位置(40,30),长和宽分别为11和14
   r2=Rectangle(40,30,11,14)
   r2.string()

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



写回答

1回答

好帮手乔木

2020-01-15

同学你好:

1、使用format格式化时,字符串中需要使用大括号时可以使用大括号进行转义,即在原基础上再嵌套一层大括号。

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

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

2、

按照题目要求,调用父类方法必须按照类名.__init__(参数列表)的方式进行调用,如Point.__init__(self, x, y)。

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

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

如果我解决了同学的问题,请采纳!学习愉快^_^。

0

0 学习 · 8160 问题

查看课程