第二十八天打卡
import mathclass Circle:def __init__(self, radius=1):self.radius = radiusdef calculate_area(self):return round(math.pi * self.radius ** 2, 2)def calculate_circumference(self):# 计算圆的周长,公式为 2πr,并保留两位小数return round(2 * math.pi * self.radius, 2)circle = Circle(5)
print(f"半径:{circle.radius}") # 输出:半径:5
print(f"面积:{circle.calculate_area()}") # 输出:面积:78.54(保留两位小数)
print(f"周长:{circle.calculate_circumference()}") # 输出:周长
class Rectangle:def __init__(self, length=1, width=1):# 初始化长方形的长和宽,默认值均为 1self.length = lengthself.width = widthdef calculate_area(self):# 计算长方形的面积,公式为长×宽return self.length * self.widthdef calculate_perimeter(self):# 计算长方形的周长,公式为 2×(长 + 宽)return 2 * (self.length + self.width)def is_square(self):# 判断长方形是否为正方形,即长是否等于宽return self.length == self.widthrect = Rectangle(4, 6)
print(f"长:{rect.length}, 宽:{rect.width}") # 输出:长:4, 宽:6
print(f"面积:{rect.calculate_area()}") # 输出:面积:24
print(f"周长:{rect.calculate_perimeter()}") # 输出:周长:20
print(f"是否为正方形:{rect.is_square()}") # 输出:是否为正方形:Falsesquare = Rectangle(5, 5)
print(f"是否为正方形:{square.is_square()}")
def create_shape(shape_type, *args):if shape_type == "circle":return Circle(*args)elif shape_type == "rectangle":return Rectangle(*args)else:raise ValueError(f"不支持的图形类型: {shape_type}")# 测试工厂函数
shape1 = create_shape("circle", 5)
print(shape1.calculate_circumference()) # 输出:31.42shape2 = create_shape("rectangle", 3, 4)
print(shape2.is_square())
@浙大疏锦行