我创建了一个用户定义的函数,并在尝试打印时不断收到错误消息“ TypeError:'int'对象不可调用”
import math
def rangeeee(x, ang, vo, yo):
fl=(yo+x*math.tan(math.radians(ang))-(1/(2*vo*vo))*((9.8*x*x)/(math.cos**2(math.radians(ang)))))
return fl
print(rangeeee(1,2,3,4))
答案 0 :(得分:1)
math.cos()
使用不当:math.cos(math.radians(ang))**2
而非(math.cos**2(math.radians(ang)))
math.radians(ang)
在math.cos()
的()
内的位置def range_e(x: float, ang: float, vo: float, yo: float) -> float:
return (yo +
x * math.tan(math.radians(ang)) -
(1 / (2 * vo**2)) *
((9.8 * x**2) / math.cos(math.radians(ang))**2))
print(range_e(1,2,3,4))
>>> 3.489812396747827
range_e(x: float, ang: float, vo: float, yo: float) -> float:
)更新range_e
,因为它比rangeeee
更容易,并且range
会覆盖built-in python function returned
,而无需将其分配给f1
答案 1 :(得分:0)
我认为您想做math.cos((math.radians(ang)*2))