欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 培训 > 【无标题】

【无标题】

2025/5/18 14:18:37 来源:https://blog.csdn.net/FAUNAAAAAA/article/details/148036117  浏览:    关键词:【无标题】

Day28

一、定义圆类

import mathclass Circle:def __init__(self, radius=1):self.radius = radiusdef calculate_area(self):return math.pi * (self.radius ** 2)def calculate_circumference(self):return 2 * math.pi * self.radius    # 创建半径为 5 的圆
circle = Circle(5)# 计算并打印面积和周长
print(f"圆的面积: {circle.calculate_area()}")
print(f"圆的周长: {circle.calculate_circumference()}")

圆的面积: 78.53981633974483

圆的周长: 31.41592653589793

二、定义长方形类

class Rectangle:def __init__(self, length=1, width=1):self.length = lengthself.width = widthdef calculate_area(self):return self.length * self.widthdef calculate_perimeter(self):return 2 * (self.length + self.width)def is_square(self):return self.length == self.width    # 创建长为 5,宽为 3 的长方形
rect = Rectangle(5, 3)# 计算并打印面积和周长
print(f"长方形的面积: {rect.calculate_area()}")
print(f"长方形的周长: {rect.calculate_perimeter()}")
print(f"是否为正方形: {rect.is_square()}")# 创建边长为 4 的正方形
square = Rectangle(4, 4)
print(f"正方形是否为正方形: {square.is_square()}")

长方形的面积: 15

长方形的周长: 16

是否为正方形: False

正方形是否为正方形: True

三、图形工厂

from typing import Unionclass Circle:def __init__(self, radius=1):self.radius = radiusdef calculate_area(self):return 3.14 * self.radius ** 2def calculate_circumference(self):return 2 * 3.14 * self.radiusclass Rectangle:def __init__(self, length=1, width=1):self.length = lengthself.width = widthdef calculate_area(self):return self.length * self.widthdef calculate_perimeter(self):return 2 * (self.length + self.width)def is_square(self):return self.length == self.widthdef create_shape(shape_type: str, *args) -> Union[Circle, Rectangle]:if shape_type == "circle":return Circle(*args)elif shape_type == "rectangle":return Rectangle(*args)else:raise ValueError(f"Unsupported shape type: {shape_type}")    # 创建半径为 5 的圆
circle = create_shape("circle", 5)
print(f"圆面积: {circle.calculate_area()}")# 创建长 4、宽 3 的长方形
rectangle = create_shape("rectangle", 4, 3)
print(f"长方形周长: {rectangle.calculate_perimeter()}")# 创建正方形(特殊长方形)
square = create_shape("rectangle", 5, 5)
print(f"是否为正方形: {square.is_square()}")# 错误示例(会抛出异常)
# create_shape("triangle", 3, 4, 5)

圆面积: 78.5

长方形周长: 14

是否为正方形: True

@浙大疏锦行

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词