为什么会报KeyError: 'X'错误
来源:2-6 编程练习
123HFX
2020-01-25 00:12:41
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)
super(Circle, self).__init__(x,y)
self.radius = radius
# 自定义Circle类对象的格式化输出函数(string())
def string(self):
print("该图形初始化点为:{X: {0},Y: {1}};{半径为: {2}}".format(self.x, self.y, self.radius))
# print("{0},{1}".format(self.x,self.y))
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, width, height):
# Point.__init__(self, x, y)
super(Rectangle, self).__init__(x,y)
# Size.__init__(self, width, height)
super(Rectangle,self).__init__(width,height)
# 自定义Rectangle类对象的格式化输出函数(string())
def string(self):
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
circle = Circle(5, 5, 8)
circle.string()
# 实例化Rectangle对象,顶点位置(15,15),长和宽分别为15和15
rect1 = Rectangle(15, 15, 15, 15)
rect1.string()
# 实例化Rectangle对象,顶点位置(40,30),长和宽分别为11和14
rect2 = Rectangle(40, 30, 11, 14)
rect2.string()1回答
慕虎4621838
2020-01-26
print("该图形初始化点为:{X: {0},Y: {1}};{半径为: {2}}".format(self.x, self.y, self.radius))
在使用format函数的时候 如果前面的括号内容中有大括号,需要写两个才能够表示它自己的意思
以下就是
print("该图形初始化点为:{{X: {0},Y: {1}}};{{半径为: {2}}}".format(self.x, self.y, self.radius))
相似问题