1. 参数化立方体建模与体积批量计算

参数化立方体建模与体积批量计算 学习卡片

任务说明

本案例实现一个参数化立方体建模脚本:定义立方体边长参数,批量生成多组不同尺寸的立方体,自动计算每个立方体的体积,并输出结构化结果表。所有数据由代码内给定输入直接推导,不依赖外部文件。

实现方案

使用Python标准库实现,以数据类保存立方体参数,通过循环批量生成实例并计算体积,最终以表格形式打印结果。代码不依赖任何第三方库,可直接运行。

输入参数 边长列表 (m) [1.0, 2.0, 3.0, 4.0, 5.0] 材料密度 (kg/m³) 7850.0 批量处理 for edge in edges: cube = Cube(edge) volume = edge³ mass = volume × density 结果表 编号 | 边长 | 体积 1 | 1.0 | 1.0 2 | 2.0 | 8.0 … 验证观测点 1. 体积公式 V = a³,与边长一一对应 2. 质量 = 体积 × 密度,用于后续扩展 3. 输出表包含编号、边长、体积、质量四列 4. 结果可手动验算:3.0³ = 27.0,5.0³ = 125.0

代码实现

from dataclasses import dataclass

@dataclass
class Cube:
    """参数化立方体模型"""
    edge: float          # 边长 (m)
    density: float = 7850.0  # 材料密度 (kg/m³),默认碳钢

    def volume(self) -> float:
        """计算体积 V = a³"""
        return self.edge ** 3

    def mass(self) -> float:
        """计算质量 m = ρ × V"""
        return self.density * self.volume()

def batch_cube_analysis(edges: list[float], density: float = 7850.0) -> list[dict]:
    """批量生成立方体并计算体积与质量"""
    results = []
    for idx, edge in enumerate(edges, start=1):
        cube = Cube(edge=edge, density=density)
        results.append({
            "编号": idx,
            "边长_m": edge,
            "体积_m3": round(cube.volume(), 4),
            "质量_kg": round(cube.mass(), 4)
        })
    return results

def print_results(results: list[dict]) -> None:
    """格式化输出结果表"""
    header = f"{'编号':<4} {'边长(m)':<10} {'体积(m³)':<12} {'质量(kg)':<12}"
    print(header)
    print("-" * len(header))
    for row in results:
        print(f"{row['编号']:<4} {row['边长_m']:<10} {row['体积_m3']:<12} {row['质量_kg']:<12}")

if __name__ == "__main__":
    # 输入:批量边长参数
    edge_list = [1.0, 2.0, 3.0, 4.0, 5.0]
    results = batch_cube_analysis(edge_list)
    print_results(results)

运行与验证

运行方式:将代码保存为 cube_batch.py,在终端执行 python cube_batch.py。

预期输出:程序打印结果表,包含编号、边长、体积、质量四列。由于输入数据固定,输出可精确推导:

编号  边长(m)     体积(m³)      质量(kg)    
------------------------------------------
1     1.0         1.0          7850.0
2     2.0         8.0          62800.0
3     3.0         27.0         211950.0
4     4.0         64.0         502400.0
5     5.0         125.0        981250.0

判定标准:观察输出表中体积列是否等于边长三次方(如3.0³=27.0),质量列是否等于体积×7850。若数值一致,则案例验证通过。修改 edge_list 中的数值可测试其他尺寸,体积与质量将按相同公式自动更新。