从图中观察,可抽取其共同属性到父类Rect中:长度:l 宽度:h 高度:z 在父类Rect中,定义求底面周长的方法length( )和底面积的方法area( )。 定义父类Rect的子类立方体类Cubic,计算立方体的表面积和体积。其中表面积area( )重写父类的方法。 定义父类Rect的子类四棱锥类Pyramid,计算四棱锥的表面积和体积。其中表面积area( )重写父类的方法。 输入立体图形的长(l)、宽(h)、高(z)数据,分别输出长方体的表面积、体积、四棱锥的表面积和体积
时间: 2023-12-03 09:47:38 浏览: 167
代码如下:
```python
class Rect:
def __init__(self, l, h):
self.l = l
self.h = h
def length(self):
return 2 * (self.l + self.h)
def area(self):
return self.l * self.h
class Cubic(Rect):
def __init__(self, l, h, z):
super().__init__(l, h)
self.z = z
def surface_area(self):
return 2 * (self.l * self.h + self.h * self.z + self.l * self.z)
def volume(self):
return self.l * self.h * self.z
class Pyramid(Rect):
def __init__(self, l, h, z):
super().__init__(l, h)
self.z = z
def surface_area(self):
return self.l * self.h + self.l * (self.l**2 + self.z**2)**0.5 + self.h * (self.h**2 + self.z**2)**0.5
def volume(self):
return self.l * self.h * self.z / 3
l = float(input("请输入长:"))
h = float(input("请输入宽:"))
z = float(input("请输入高:"))
cubic = Cubic(l, h, z)
print("立方体表面积为:%.2f" % cubic.surface_area())
print("立方体体积为:%.2f" % cubic.volume())
pyramid = Pyramid(l, h, z)
print("四棱锥表面积为:%.2f" % pyramid.surface_area())
print("四棱锥体积为:%.2f" % pyramid.volume())
```
输入长、宽、高数据,输出长方体的表面积、体积、四棱锥的表面积和体积,例如:
```
请输入长:3
请输入宽:4
请输入高:5
立方体表面积为:94.00
立方体体积为:60.00
四棱锥表面积为:40.31
四棱锥体积为:20.00
```
阅读全文