初学者,跟着视频教学,但是发现运行不出来,代码如下:
class Shape:
def init(self,name,area,perimeter):
self.name = name
self.area = 0.0
self.perimeter = 0.0
def calArea(self):
return self.area
def calPerimeter(self):
return self.perimeter
def display(self):
print("name = ", self.name)
print("area = ", self.area)
print("perimeter = ", self.perimeter)
class Rectangle(Shape):
def init(self, name, width, height):
Shape.init(self, name)
self.width = width
self.height = height
self.area = self.calArea()
self.perimeter = self.calPerimeter()
def calArea(self):
return self.width * self.height
def calPerimeter(self):
return (self.width + self.height) * 2
def display(self):
print("name = ", self.name)
print("area = ", self.area)
print("perimeter = ", self.perimeter)
class Triangle(Shape):
def init(self, name, a, b, c, height):
Shape.init(self, name)
self.a = a
self.b = b
self.c = c
self.height = height
self.area = self.calArea()
self.perimeter = self.calPerimeter()
def calArea(self):
return self.a * self.height / 2
def calPerimeter(self):
return self.a + self.b + self.c
def display(self):
print("name = ", self.name)
print("area = ", self.area)
print("perimeter = ", self.perimeter)
class Circle(Shape):
def init(self, name, r):
Shape.init(self, name)
self.r = r
self.area = self.calArea()
self.perimeter = self.calPerimeter()
def calArea(self):
return self.r * self.r * 3.14
def calPerimeter(self):
return 2 * 3.14 * self.r
def display(self):
print("name = ", self.name)
print("area = ", self.area)
print("perimeter = ", self.perimeter)
举个例子,望采纳!谢谢
class Shape:
def __init__(self,name,area,perimeter):
self.name = name
self.area = 0.0
self.perimeter = 0.0
def calArea(self):
return self.area
def calPerimeter(self):
return self.perimeter
def display(self):
print("name = ", self.name)
print("area = ", self.area)
print("perimeter = ", self.perimeter)
class Rectangle(Shape):
def __init__(self, name, width, height):
Shape.init(self, name)
self.width = width
self.height = height
self.area = self.calArea()
self.perimeter = self.calPerimeter()
def calArea(self):
return self.width * self.height
def calPerimeter(self):
return (self.width + self.height) * 2
def display(self):
print("name = ", self.name)
print("area = ", self.area)
print("perimeter = ", self.perimeter)
class Triangle(Shape):
def __init__(self, name, a, b, c, height):
Shape.init(self, name)
self.a = a
self.b = b
self.c = c
self.height = height
self.area = self.calArea()
self.perimeter = self.calPerimeter()
def calArea(self):
return self.a * self.height / 2
def calPerimeter(self):
return self.a + self.b + self.c
def display(self):
print("name = ", self.name)
print("area = ", self.area)
print("perimeter = ", self.perimeter)
class Circle(Shape):
def __init__(self, name, r):
Shape.init(self, name)
self.r = r
self.area = self.calArea()
self.perimeter = self.calPerimeter()
def calArea(self):
return self.r * self.r * 3.14
def calPerimeter(self):
return 2 * 3.14 * self.r
def display(self):
print("name = ", self.name)
print("area = ", self.area)
print("perimeter = ", self.perimeter)
sha = Shape('cir', 2.0, 2.0)
sha.display()
语法上没问题, 可能你只定义了class, 没有实例化, 也没有调用, 当然就不会有输出
写完了函数你还需要去调用