编写一个程序,提示用户输入 3 维圆锥的半径和高度,然后计算并打印圆锥的表面积和体积。表面积和体积的计算将在函数中完成,输入的收集也是如此。
这部分的程序将按如下方式运行:
- 打印出一条消息,指出程序的作用。
- 提示用户以英尺为单位的半径(非负浮点数)。
- 提示用户以英尺为单位的高度(非负浮点数)。
- 打印半径和高度,但四舍五入为 2 位小数。
- 打印表面积和体积,四舍五入到小数点后 2 位。
这是我到目前为止所做的:
import math
print("This Program will calculate the surface area and volume of a cone."
"\nPlease follow the directions.")
print()
print()
r = input(str("What is the radius in feet? (no negatives): "))
h = input(str("What is the height in feet? (no negatives): "))
math.pi = (22.0/7.0)
math.sqrt()
surfacearea = int(math.pi*r**2)+int(r*math.pi(math.sqrt(r**2+h**2)))
print("The surface area is", surfacearea)
print()
volume = (1/3)*math.pi*r**2*h
print ("The volume is", volume)
print()
print("Your Answer is:")
print()
print("A cone with radius", r, "\nand hieght", h,"\nhas a volume of : ",volume,
"\nand surface area of", surfacearea,)
我不断收到错误
TypeError: unsupported operand type(s) for ** or pow(): 'str' and 'int'
TypeError: can't multiply sequence by non-int of type 'float'
谁能帮我通过这个小墙块,我认为“浮动”是问题的一部分。我认为设置很好,但执行是问题所在。