Python输入一个表示几何形状名称(圆形、球、圆柱体、圆锥和正三棱柱)的字符串,再在 一行内输入这种图形的数据,根据表示名称的字符串选择合适的公式计算几何形状的(表) 面积和体积,若为二维图形,只计算面积,若为三维图形,计算其表面积与体积,结果严格 保留 2 位小数。
时间: 2024-09-29 14:01:15 浏览: 52
在Python中,你可以创建一个函数来处理这个任务。首先,你需要定义一个字典,其中包含每个几何形状对应的面积和体积计算方法。然后,根据用户输入的形状名称,从字典中获取相应的函数并执行计算。下面是一个简单的示例:
```python
def calculate_shape(area_func, volume_func):
shape_input = input("请输入几何形状名称(圆形、球、圆柱体、圆锥、正三棱柱):")
if '圆形' in shape_input.lower():
radius = float(input("请输入圆的半径:"))
area = round(area_func(radius), 2)
print(f"面积:{area}")
elif '球' in shape_input.lower():
radius = float(input("请输入球的半径:"))
volume = round(volume_func(radius), 2)
print(f"体积:{volume}")
elif '圆柱体' in shape_input.lower():
base_radius = float(input("请输入底面半径:"))
height = float(input("请输入高:"))
area = round(2 * pi * base_radius * (base_radius + height), 2)
volume = round(pi * base_radius ** 2 * height, 2)
print(f"表面积:{area}, 体积:{volume}")
elif '圆锥' in shape_input.lower():
base_radius = float(input("请输入底面半径:"))
height = float(input("请输入高:"))
area = round(pi * base_radius * (base_radius + math.sqrt(base_radius**2 + height**2)), 2)
volume = round(1/3 * pi * base_radius ** 2 * height, 2)
print(f"侧面积:{area}, 体积:{volume}")
elif '正三棱柱' in shape_input.lower():
base_side = float(input("请输入底边长:"))
height = float(input("请输入高:"))
area = round(0.5 * base_side * (3 * sqrt(3) / 4 * base_side + 3 * height), 2)
volume = round(base_side ** 2 * height, 2)
print(f"表面积:{area}, 体积:{volume}")
else:
print("无法识别的几何形状,请重新输入.")
# 定义面积和体积计算函数(这里假设pi已经导入)
def circle_area(radius):
return pi * radius ** 2
def sphere_volume(radius):
return 4/3 * pi * radius ** 3
# 简化的体积计算函数
def cylinder_volume(radius, height):
return pi * radius ** 2 * height
# 其他几何形状的体积计算略...
calculate_shape(circle_area, sphere_volume)
```
运行此程序时,用户将被提示按照提示输入所需数据,并得到相应的面积或体积。
阅读全文