7-5 sdut-oop-5 计算长方体和四棱锥的表面积和体积(类的继承)(Python实现)
作者 周雪芹
单位 山东理工大学
计算如下立体图形的表面积和体积。
从图中观察,可抽取长方体和四棱锥两种立体图形的共同属性到父类Rect中:长度:l 宽度:h 高度:z。
编程要求:
(1)在父类Rect中,定义求底面周长的方法length( )和底面积的方法area( )。
(2)定义父类Rect的子类立方体类Cubic,计算立方体的表面积和体积。其中表面积area( )重写父类的方法。
(3)定义父类Rect的子类四棱锥类Pyramid,计算四棱锥的表面积和体积。其中表面积area( )重写父类的方法。
(4)在主程序中,输入立体图形的长(l)、宽(h)、高(z)数据,分别输出长方体的表面积、体积、四棱锥的表面积和体积。
提示:
(1)四棱锥体积公式:V=31Sh,S——底面积 h——高
(2)在Java中,利用Math.sqrt(a)方法可以求得a的平方根(方法的参数及返回结果均为double数据类型)
(3)在Python中,利用math模块的sqrt(a)方法,求得a的平方根。
输入格式:
输入多行数值型数据(double);
每行三个数值,分别表示l、h、z,数值之间用空格分隔。
若输入数据中有0或负数,则不表示任何图形,表面积和体积均为0。
输出格式:
行数与输入相对应,数值为长方体表面积 长方体体积 四棱锥表面积 四棱锥体积(中间有一个空格作为间隔,数值保留两位小数)。
输入样例:
1 2 3
0 2 3
-1 2 3
3 4 5
输出样例:
22.00 6.00 11.25 2.00
0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00
94.00 60.00 49.04 20.00
Code实现:
import math
import abc
class Rect:def __init__(self,l,h,z):self.l=lself.h=hself.z=z@abc.abstractmethoddef lengh(self):return (self.l + self.h) * 2@abc.abstractmethoddef Area(self):return self.l * self.h
class Cubic(Rect):def __init__(self,l,h,z):super().__init__(l,h,z)def V(self):return self.l*self.z*self.hdef Area(self):return (self.h*self.l+self.h*self.z+self.l*self.z)*2
class Pyramid(Rect):def __init__(self,l,h,z):super().__init__(l,h,z)def V(self):return 1/3*self.l*self.h*self.zdef Area(self):a=self.lb=self.hc=self.zp1=math.sqrt(a*a+b*b)p1=p1/2pp=math.sqrt(p1*p1+c*c)h1=math.sqrt(pp*pp-a*a/4)h2=math.sqrt(pp*pp-b*b/4)s1=h1*a/2s2=h2*b/2s3=a*bs4=(s1+s2)*2+s3return s4while True:try:l,h,z=map(float,input().split())if l<=0 or h<=0 or z<=0:print("{:.2f} {:.2f} {:.2f} {:.2f}".format(0,0,0,0))else:c, p = Cubic(l,h,z), Pyramid(l ,h,z)print("{:.2f} {:.2f} {:.2f} {:.2f}".format(c.Area(), c.V(), p.Area(), p.V()))except:break
总结:这题就四棱锥的表面积难求,而且那个底面积周长的类也没用
7-5 sdut-oop-5 计算长方体和四棱锥的表面积和体积(类的继承)(Python实现)相关推荐
- 计算长方体、四棱锥的表面积和体积(类)
Problem Description 计算如下立体图形的表面积和体积. 从图中观察,可抽取其共同属性到父类Rect中:长度:l 宽度:h 高度:z 在父类Rect中,定义求底面周长的方法leng ...
- java求长方体_Java练习 SDUT-3337_计算长方体、四棱锥的表面积和体积
###计算长方体.四棱锥的表面积和体积 Time Limit: 1000 ms Memory Limit: 65536 KiB ####Problem Description 计算如下立体图形的表面积 ...
- PTA 4 sdut-oop-5 计算长方体和四棱锥的表面积和体积(类的继承)分数 20
这是一道经典的"类与继承"的题型,对与小白来说very nice. 先看题: 计算如下立体图形的表面积和体积. 从图中观察,可抽取长方体和四棱锥两种立体图形的共同属性到父类Rect ...
- sdut-oop-5 计算长方体和四棱锥的表面积和体积(类的继承)
计算如下立体图形的表面积和体积. 从图中观察,可抽取长方体和四棱锥两种立体图形的共同属性到父类Rect中:长度:l 宽度:h 高度:z. 编程要求: (1)在父类Rect中,定义求底面周长的方法len ...
- chatgpt赋能python:Python计算球体表面积和体积
Python计算球体表面积和体积 如果您需要计算球体的表面积和体积,那么Python可以成为您的助手.Python在科学计算领域中越来越受欢迎,因为它是一个灵活且易于使用的语言.Python拥有大量的 ...
- 编写程序计算长方体的体积python_编写程序,计算圆柱体、球体、正方体和长方体的表面积和体积...
编写程序,计算圆柱体.球体.正方体和长方体的表面积和体积. #include "" #include"" class Shape { protected: in ...
- 6-2 计算长方体的表面积和体积
请完成相关代码,实现长方体的表面积和体积的计算 函数接口定义: 请详细参见主程序的调用方式. 裁判测试程序样例: import java.util.Scanner; /* 你的代码将被嵌入到这里 */ ...
- 6-4 计算长方体的表面积和体积 (10分) java pta
请完成相关代码,实现长方体的表面积和体积的计算 函数接口定义: 请详细参见主程序的调用方式. 裁判测试程序样例: import java.util.Scanner; /* 你的代码将被嵌入到这里 */ ...
- PTA 6-2 计算长方体的表面积和体积
请完成相关代码,实现长方体的表面积和体积的计算 函数接口定义: 请详细参见主程序的调用方式. 裁判测试程序样例: import java.util.Scanner; /* 你的代码将被嵌入到这里 */ ...
最新文章
- 在java的程序里date类型比较大小
- qq邮箱mx服务器,电子邮箱如何设置域名MX记录
- 程序设计语言常见面试题
- python多线程加速for循环_多线程-如何在Python的循环中对操作进行多线程
- Mysql的分库分表(基于shardingsphere)
- html列表用标记,html标记列表应用
- hiberanate 主键查询慢_mysql查询优化,1万条数据居然要30秒
- 从面试的这些细节就可判断公司的好坏
- centos7子系统 win10_Win10下安装CentOS 7双系统详解
- 如何在oracle中查询所有用户表的表名、主键名称、索引、外键等 - Oracle 基础和管理_files...
- JDK 1.6环境变量的设置
- 学习Scala:孤立对象的实现原理
- 华为自带时钟天气下载_华为天气时钟农历插件,求华为自带的天气时钟
- 产品人的归宿 · 之 · 创业维艰
- JAVA拉取Hive的数据导入到MySQL中
- 【使用TIFF库对tif图片的读写】
- 银耳椰椰——Alpha冲刺Day04
- 外部多端口映射Https443端口配置
- Kali Linux学习笔记—Web渗透(1)
- OpenCV视频篇——从.JPG到.AVI:视频编码最强入门科普
热门文章
- Java的基操,基操(二)
- 基于第一行代码CoolWeather的小白天气开发
- Python批量采集亚马逊商品数据 (含完整源代码)
- 学习英文-学以致用【场景:公寓】
- 小程序管理需注意这4个方面
- 计算机专业平面设计毕业论文选题,关于计算机平面设计的论文题目 计算机平面设计论文题目怎样取...
- java比较两个word差异_[转载]java在线比较两个word文件
- 一, Habse 概述,安装和快速上手
- 我的世界1.13 mod制作——环境搭建(一)
- 学校计算机教研组会议记录,学校教研工作专题会议记录