为什么会报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))

1
h23HFX
h 明白了,谢谢
h020-01-26
共1条回复

0 学习 · 8160 问题

查看课程

相似问题

回答 3

回答 1

回答 1