gpt4 book ai didi

python - 面向对象的 Python 程序计算球体的体积和表面积

转载 作者:太空宇宙 更新时间:2023-11-04 08:04:32 25 4
gpt4 key购买 nike

编写一个 Python 程序,计算半径为 r 的球体、半径为 r 且高度为 h 的圆形底面的圆柱体以及半径为 r 且高度为 h 的圆形底面的圆锥体的体积和表面积。将它们放入几何模块中。然后编写一个程序,提示用户输入 r 和 h 的值,调用六个函数,并打印结果。

这是我的代码

from math import sqrt
from math import pi


# FUNCTIONS
def sphere_volume(radius):
return 4/3 * pi * (radius ** 3)


def sphere_surface(radius):
return 4 * pi * radius ** 2


def cylinder_volume(radius, height):
return pi * radius ** 2


def cylinder_surface(radius, height):
return pi * radius ** 2 * 2 * pi * radius * height


def cone_volume(radius, height):
return 1/3 * pi * radius ** 2 * height


def cone_surface(radius, height):
return pi * radius ** 2 + pi * radius * sqrt(height ** 2 + radius ** 2)


# main
def main():
radius = input("Radius>")
height = input("Height>")

print("Sphere volume: %d" %(sphere_volume(radius)))
print("Sphere surface: %d" %(sphere_surface(radius)))
print("Cylinder volume: %d" %(cylinder_volume(radius, height)))
print("Cylinder surface area: %d" %(cylinder_surface(radius, height)))
print("Cone volume: %d" %(cone_volume(radius, height)))
print("Cone surface: %d" %(cone_surface(radius, height)))


# PROGRAM RUN
if __name__ == "__main__":
main()

我遇到了一个错误

 return 4/3 * pi * (radius ** 3)

TypeError: unsupported operand type(s) for ** or pow(): 'str' and 'int'

有人可以帮我解决我做错了什么吗?

最佳答案

像这样解析输入:

# main
def main():
radius = float(input("Radius>"))
height = float(input("Height>"))

它对我有用。

关于python - 面向对象的 Python 程序计算球体的体积和表面积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33905913/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com