DAY 28

浙大疏锦行

##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())

相关推荐
Hello.Reader3 分钟前
Three.js / Cesium 卡顿怎么办?把三维渲染搬到 GPU 服务器
服务器·开发语言·javascript
chi11303 分钟前
【无标题】
前端·javascript·python
Solange__10 分钟前
AI世界模型、3D场景生成和游戏引擎怎么选?按5类任务比较交互、物理与导出
开发语言·人工智能·游戏·平面·3d·自然语言处理·游戏引擎
编程见习者16 分钟前
Deep Agents介绍
人工智能·python·langchain
椒颜皮皮虾྅17 分钟前
模型部署不再卡在环境上:DeploySharp 四大推理引擎与 Windows/Linux 离线交付实战
linux·运维·开发语言·人工智能·windows·计算机视觉·cuda
梦幻精灵_cq19 分钟前
《SGR修行之路》——二○二一五二〇,初识终端点红裳
python·生活
我要见SA姐128 分钟前
Chrome 内存泄漏诊断指南:从现象定位到根因排查
ide·vscode·python·自动化·编辑器
codebolt29 分钟前
C++程序crash分析和内存检测
开发语言·c++
椒颜皮皮虾྅30 分钟前
让 C# 读懂整张图:DeploySharp 驱动 PaddleOCR v4/v5/v6,打通 OCR 全流程
开发语言·人工智能·深度学习·学习·c#·ocr·cuda
昂好的day33 分钟前
C# 同步异步与多线程:Thread / Task / 线程池一次讲透(上篇)
开发语言·windows·c#