输入一个表示几何形状名称的字符串,再在一行内输入这种图形的数据,根据表示名称的字符串选择合适的公式计算几何形状的(表)面积和体积,若为二维图形,只计算面积,若为三维图形,计算其表面积与体积,结果严格保留2位小数。 模板程序给出了长方形和长方体的代码,参考这些代码,完成圆形、球、圆柱体、圆锥和正三棱柱这5种形状的计算程序。
时间: 2024-02-17 11:01:42 浏览: 123
好的,这是一个计算几何形状面积和体积的程序,支持圆形、球、圆柱体、圆锥和正三棱柱这5种形状的计算。以下是完整的代码:
```python
import math
# 计算长方形面积
def area_rectangle(width, height):
return width * height
# 计算长方体表面积和体积
def surface_area_cuboid(length, width, height):
surface_area = 2 * (length * width + width * height + height * length)
volume = length * width * height
return surface_area, volume
# 计算圆形面积
def area_circle(radius):
return math.pi * radius ** 2
# 计算球表面积和体积
def surface_area_sphere(radius):
surface_area = 4 * math.pi * radius ** 2
volume = 4 / 3 * math.pi * radius ** 3
return surface_area, volume
# 计算圆柱体表面积和体积
def surface_area_cylinder(radius, height):
surface_area = 2 * math.pi * radius ** 2 + 2 * math.pi * radius * height
volume = math.pi * radius ** 2 * height
return surface_area, volume
# 计算圆锥表面积和体积
def surface_area_cone(radius, height):
surface_area = math.pi * radius ** 2 + math.pi * radius * math.sqrt(radius ** 2 + height ** 2)
volume = 1 / 3 * math.pi * radius ** 2 * height
return surface_area, volume
# 计算正三棱柱表面积和体积
def surface_area_prism(side, height):
surface_area = 3 * side * height + 3 * side ** 2 * math.sqrt(3) / 4
volume = side ** 2 * height * math.sqrt(3) / 4
return surface_area, volume
# 主程序
shape = input("请输入几何形状名称:")
if shape == "长方形":
width = float(input("请输入长方形宽度:"))
height = float(input("请输入长方形高度:"))
area = area_rectangle(width, height)
print("该长方形的面积为:%.2f" % area)
elif shape == "长方体":
length = float(input("请输入长方体长度:"))
width = float(input("请输入长方体宽度:"))
height = float(input("请输入长方体高度:"))
surface_area, volume = surface_area_cuboid(length, width, height)
print("该长方体的表面积为:%.2f,体积为:%.2f" % (surface_area, volume))
elif shape == "圆形":
radius = float(input("请输入圆形半径:"))
area = area_circle(radius)
print("该圆形的面积为:%.2f" % area)
elif shape == "球":
radius = float(input("请输入球半径:"))
surface_area, volume = surface_area_sphere(radius)
print("该球的表面积为:%.2f,体积为:%.2f" % (surface_area, volume))
elif shape == "圆柱体":
radius = float(input("请输入圆柱体半径:"))
height = float(input("请输入圆柱体高度:"))
surface_area, volume = surface_area_cylinder(radius, height)
print("该圆柱体的表面积为:%.2f,体积为:%.2f" % (surface_area, volume))
elif shape == "圆锥":
radius = float(input("请输入圆锥半径:"))
height = float(input("请输入圆锥高度:"))
surface_area, volume = surface_area_cone(radius, height)
print("该圆锥的表面积为:%.2f,体积为:%.2f" % (surface_area, volume))
elif shape == "正三棱柱":
side = float(input("请输入正三棱柱棱长:"))
height = float(input("请输入正三棱柱高度:"))
surface_area, volume = surface_area_prism(side, height)
print("该正三棱柱的表面积为:%.2f,体积为:%.2f" % (surface_area, volume))
else:
print("不支持的几何形状名称!")
```
你可以按照提示输入几何形状的名称和相应的数据,程序会自动计算并输出结果。注意,本程序要求严格保留2位小数。
阅读全文