当前位置: 首页 > news >正文

python第二十八天

题目1:定义圆(Circle)类

要求:

  1. 包含属性:半径 radius。
  2. 包含方法:
  • calculate_area():计算圆的面积(公式:πr²)。
  • calculate_circumference():计算圆的周长(公式:2πr)。
  1. 初始化时需传入半径,默认值为 1。
  2. 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)类

    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 = 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}")

http://www.xdnf.cn/news/500239.html

相关文章:

  • Oracle APEX IR报表下载CSV文件的方法
  • [Java] 方法和数组
  • FauxGen:一款由 CodeBuddy 主动构建的假数据生成器
  • 语音转文字
  • 使用Spring Boot与Spring Security构建安全的RESTful API
  • 基于大疆Mini 3无人机和指定软件工具链的完整3D建模工作
  • JavaScript防抖与节流全解析
  • C# lock
  • 端到端自动驾驶系统实战指南:从Comma.ai架构到PyTorch部署
  • 通义千问-langchain使用构建(三)
  • 2025年渗透测试面试题总结-百度面经(题目+回答)
  • YOLO (You Only Look Once)版本历程学习
  • Java泛型详解
  • Vue百日学习计划Day21-23天详细计划-Gemini版
  • Elasticsearch 官网阅读之 Term-level Queries
  • 关于软件测试开发的一些有趣的知识
  • ElasticSearch 8.x新特性面试题
  • 【论文阅读】针对BEV感知的攻击
  • python:gimp 与 blender 两个软件如何协作?
  • 5.27本日总结
  • JSP链接MySQL8.0(Eclipse+Tomcat9.0+MySQL8.0)
  • markdown 文档编辑软件 MarkText 使用教程
  • QT软件安装
  • 项目复习(1)
  • 刷leetcodehot100返航版--二叉树
  • JavaScript【7】BOM模型
  • MODBUS RTU通信协议详解与调试指南
  • 利用人工智能优化求职流程:开发一个智能求职助手
  • 【软考 程序流程图的测试方法】McCabe度量法计算环路复杂度
  • ubuntu安装google chrome