矩形和椭圆单元测试卷及答案_第1页
矩形和椭圆单元测试卷及答案_第2页
矩形和椭圆单元测试卷及答案_第3页
矩形和椭圆单元测试卷及答案_第4页
矩形和椭圆单元测试卷及答案_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

矩形和椭圆单元测试卷及答案第一部分:矩形1.将一个10x5的矩形实例化为`r1`,输出矩形的宽和高。答案:r1=Rectangle(10,5)print(r1.width)print(r1.height)2.创建一个名为`Square`的子类,该子类继承自`Rectangle`,并接收一个参数`side_length`,表示正方形的边长。添加一个名为`__str__`的方法,该方法返回格式字符串,按如下方式格式化:Square(side_length=6)答案:classSquare(Rectangle):def__init__(self,side_length):super().__init__(side_length,side_length)def__str__(self):returnf'Square(side_length={self.width})'3.创建一个名为`test_rectangle`的函数,它接收一个`Rectangle`实例作为参数,并验证其`area`和`perimeter`方法的正确性。注意,由于浮点数精度问题,你将需要使用`assertAlmostEqual`方法进行精确比较。答案:deftest_rectangle(rectangle):assertrectangle.area()==rectangle.width*rectangle.heightassertrectangle.perimeter()==2*rectangle.width+2*rectangle.height第二部分:椭圆4.实例化一个椭圆,其长轴长度为10,短轴长度为5,并输出其长轴和短轴长度。在`Ellipse`类中创建一个名为`circumference`的方法,该方法将返回椭圆的周长。答案:e1=Ellipse(10,5)print(e1.major_axis)print(e1.minor_axis)classEllipse:...defcircumference(self):a=self.major_axis/2b=self.minor_axis/2returnmath.pi*(3*(a+b)-math.sqrt((3*a+b)*(a+3*b)))5.创建一个名为`Circle`的子类,该子类继承自`Ellipse`,接收一个参数`radius`表示圆的半径(即长轴和短轴相等)。覆盖`__str__`方法以返回类似于`Circle(radius=5)`的格式字符串。答案:classCircle(Ellipse):def__init__(self,radius):super().__init__(radius,radius)def__str__(self):returnf'Circle(radius={self.major_axis/2})'6.创建一个名为`test_ellipse`的函数,它接收一个`Ellipse`实例作为参数,并验证其`area`、`perimeter`和`circumference`方法的正确性。答案:deftest_ellipse(ellipse):assertmath.isclose(ellipse.area(),math.pi*ellipse.major_axis*ellipse.minor_axis,rel_tol=1e-6)assertmath.isclose(ellipse.perimeter(),self.circumference(),rel_tol=1e-6)assertmath.isclose(ellipse.circumference(),2*m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论