day27

题目1:定义圆(Circle)类

要求:

  1. 包含属性:半径 radius。
  2. 包含方法:
  • calculate_area():计算圆的面积(公式:πr²)。
  • calculate_circumference():计算圆的周长(公式:2πr)。
  1. 初始化时需传入半径,默认值为 1。
  2. import math
    
    class Circle:
        def __init__(self, radius=1):
            self.radius = radius
            
        def calculate_area(self):
            return math.pi * (self.radius ** 2)
        
        def calculate_circumference(self):
            return 2 * math.pi * self.radius
    
    # 测试示例
    circle1 = Circle(5)
    print(f"半径为 {circle1.radius} 的圆的面积是: {circle1.calculate_area():.2f}")
    print(f"半径为 {circle1.radius} 的圆的周长是: {circle1.calculate_circumference():.2f}")
    
    circle2 = Circle()  # 使用默认半径
    print(f"默认半径的圆的面积是: {circle2.calculate_area():.2f}")

    题目2:定义长方形(Rectangle)类

    1. 包含属性:长 length、宽 width。
    2. 包含方法:
    • calculate_area():计算面积(公式:长×宽)。
    • calculate_perimeter():计算周长(公式:2×(长+宽))。 is_square() 方法,判断是否为正方形(长 == 宽)。
    1. 初始化时需传入长和宽,默认值均为 1。
    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
      
      # 测试示例
      rect1 = Rectangle(5, 4)
      print(f"长方形的面积是: {rect1.calculate_area()}")
      print(f"长方形的周长是: {rect1.calculate_perimeter()}")
      print(f"是否为正方形: {rect1.is_square()}")
      
      rect2 = Rectangle(3, 3)  # 正方形
      print(f"\n正方形的面积是: {rect2.calculate_area()}")
      print(f"正方形的周长是: {rect2.calculate_perimeter()}")
      print(f"是否为正方形: {rect2.is_square()}")

      题目3:图形工厂

      创建一个工厂函数 create_shape(shape_type, *args),根据类型创建不同图形对象:图形工厂(函数或类)

      shape_type="circle":创建圆(参数:半径)。

      shape_type="rectangle":创建长方形(参数:长、宽)

      class Circle:
          def __init__(self, radius=1):
              self.radius = radius
      
          def calculate_area(self):
              return 3.14 * self.radius ** 2
      
          def calculate_circumference(self):
              return 2 * 3.14 * self.radius
      
      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
      
      def create_shape(shape_type, *args):
          if shape_type == "circle":
              return Circle(*args)
          elif shape_type == "rectangle":
              return Rectangle(*args)
          else:
              raise ValueError("Unsupported shape type")
      
      # 测试示例
      circle = create_shape("circle", 5)
      print(f"圆形面积: {circle.calculate_area()}")  # 输出: 78.5
      
      rectangle = create_shape("rectangle", 4, 6)
      print(f"矩形面积: {rectangle.calculate_area()}")  # 输出: 24
      print(f"是否为正方形: {rectangle.is_square()}")  # 输出: False

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值