python第二十八天
题目1:定义圆(Circle)类
要求:
- 包含属性:半径 radius。
- 包含方法:
- calculate_area():计算圆的面积(公式:πr²)。
- calculate_circumference():计算圆的周长(公式:2πr)。
- 初始化时需传入半径,默认值为 1。
-
import mathclass Circle:def __init__(self, radius=1):self.radius = radiusdef calculate_area(self):return math.pi * self.radius ** 2def calculate_circumference(self):return 2 * math.pi * self.radius # 创建默认半径为1的圆 circle1 = Circle() print(circle1.calculate_area()) # 输出约3.14159 print(circle1.calculate_circumference()) # 输出约6.28318# 创建半径为5的圆 circle2 = Circle(5) print(circle2.calculate_area()) # 输出约78.5398 print(circle2.calculate_circumference()) # 输出约31.4159
题目2:定义长方形(Rectangle)类
- 包含属性:长 length、宽 width。
- 包含方法:
- calculate_area():计算面积(公式:长×宽)。
- calculate_perimeter():计算周长(公式:2×(长+宽))。 is_square() 方法,判断是否为正方形(长 == 宽)。
- 初始化时需传入长和宽,默认值均为 1
-
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):"""计算长方形的周长(2 × (长 + 宽))"""return 2 * (self.length + self.width)def is_square(self):"""判断是否是正方形(长 == 宽)"""return self.length == self.width # 默认长方形(长=1,宽=1) rect1 = Rectangle() print(rect1.calculate_area()) # 1 print(rect1.calculate_perimeter()) # 4 print(rect1.is_square()) # True
题目3:图形工厂
创建一个工厂函数 create_shape(shape_type, *args),根据类型创建不同图形对象:图形工厂(函数或类)
shape_type="circle":创建圆(参数:半径)。
shape_type="rectangle":创建长方形(参数:长、宽)。
class Circle:def __init__(self, radius):self.radius = radiusclass Rectangle:def __init__(self, length, width):self.length = lengthself.width = widthdef create_shape(shape_type, *args):if shape_type == "circle":return Circle(*args)elif shape_type == "rectangle":return Rectangle(*args)else:raise ValueError(f"Unsupported shape type: {shape_type}")