1. 参数化立方体建模与体积批量计算
任务说明
本案例实现一个参数化立方体建模脚本:定义立方体边长参数,批量生成多组不同尺寸的立方体,自动计算每个立方体的体积,并输出结构化结果表。所有数据由代码内给定输入直接推导,不依赖外部文件。
实现方案
使用Python标准库实现,以数据类保存立方体参数,通过循环批量生成实例并计算体积,最终以表格形式打印结果。代码不依赖任何第三方库,可直接运行。
代码实现
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 中的数值可测试其他尺寸,体积与质量将按相同公式自动更新。