8-2 计算球体、圆柱体的表面积——python
2023-12-29 11:36:42
从球体、圆柱体抽象出一个公共基类Container,类Container内定义两个类变量pi圆周率,total_area总表面积、两个未实现的方法。模拟实现一个容器类层次结构,子类要求实现父类的所有方法,并在主方法进行多态测试。
设计一个类Container,有以下类变量、方法:
PI=3.1415926 类变量
total_area=0 类变量
area(): 未实现
__str__():未实现
设计一个子类Sphere,继承Container类,实现以下方法:
__init__():构造方法,参数:半径
area():返回球体表面积
__str__():返回球体名称、球体表面积的描述
设计一个子类Cylinder,继承Container类,实现以下方法:
__init__():构造方法,参数:半径、高
area():返回圆柱体表面积
__str__():返回圆柱体名称、圆柱体表面积的描述
裁判测试程序样例:
/*请在这里填写答案 */ def main(): r=float(input()) sp = Sphere(r) r,h=map(float,input().split()) cy = Cylinder(r,h) print(sp) print(cy) print('Total area = %.2f'%Container.total_area) main()
输入样例:
在这里给出一组输入。例如:
2.56
3.45 15.7
输出样例:
在这里给出相应的输出。例如:
Sphere: area = 82.35
Cylinder: area = 415.11
Total area = 497.47
class Container:
PI = 3.1415926
total_area = 0
def area(self):
return
def __str__(self):
return
class Sphere(Container):
def __init__(self, r):
self.r = r
Container.total_area += self.area()
def area(self):
return 4 * super().PI * self.r ** 2
def __str__(self):
return f"Sphere: area = {self.area():.2f}"
class Cylinder(Container):
def __init__(self, r, h):
self.r = r
self.h = h
Container.total_area += self.area()
def area(self):
return 2 * super().PI * self.r * self.h + 2 * super().PI * self.r ** 2
def __str__(self):
return f"Cylinder: area = {self.area():.2f}"
?
文章来源:https://blog.csdn.net/qq_64037242/article/details/135285050
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!