##DAY 28
import math
题目1:圆类
class Circle:
def init (self, radius=1):
self.radius = radius
def calculate_area(self):
area = math.pi * self.radius ** 2
return round(area, 2)
def calculate_circumference(self):
circum = 2 * math.pi * self.radius
return round(circum, 2)
题目2:长方形类
class Rectangle:
def init (self, length=1, width=1):
self.length = length
self.width = width
def calculate_area(self):
return self.length * self.width
def calculate_perimeter(self):
return 2 * (self.length + self.width)
def is_square(self):
return self.length == self.width
题目3:图形工厂函数
def create_shape(shape_type, *args):
if shape_type == "circle":
return Circle(*args)
elif shape_type == "rectangle":
return Rectangle(*args)
else:
raise ValueError("不支持的图形类型")
测试题目1
print("===== 测试圆 =====")
circle = Circle(5)
print(f"半径: {circle.radius}")
print(f"面积: {circle.calculate_area()}")
print(f"周长: {circle.calculate_circumference()}")
测试题目2
print("\n===== 测试长方形 =====")
rect = Rectangle(4, 6)
print(f"长: {rect.length}, 宽: {rect.width}")
print(f"面积: {rect.calculate_area()}")
print(f"周长: {rect.calculate_perimeter()}")
print(f"是否为正方形: {rect.is_square()}")
square = Rectangle(5, 5)
print(f"是否为正方形: {square.is_square()}")
测试题目3 工厂函数
print("\n===== 测试图形工厂 =====")
shape1 = create_shape("circle", 5)
print(shape1.calculate_circumference())
shape2 = create_shape("rectangle", 3, 4)
print(shape2.is_square())