有人能告诉我为什么高度的结果总是0.00m/-0.00m?Python土豆炮
我做错了什么?
import math
g = 9.8
v = 60
angle = float(input("Angle: "))
def distance(v, angle, g):
angle2 = angle * 2
d = v**2 * math.sin(math.radians(angle2))/g
return d
distance = distance(v, angle, g)
def time(distance, v, angle):
t = distance/(v * math.cos(math.radians(angle)))
return t
time = time(distance, v, angle)
def height(v, angle, time, g):
h = v * math.sin(math.radians(angle)) * time - g * time**2/2
return h
height = height(v, angle, time, g)
print("""Time: {0:.2f}s
Distance: {1:.2f}m
Height: {2:.2f}m""" .format(time, distance, height))
这是Python 2还是Python 3? –
这是用于Python 3 – rabbit
你想具体计算什么?您的距离是在轨迹期间行驶的全部距离,正如@Ewan所指出的那样,在两种可能的解决方案中,t = 0,h = 0或t = X,h = 0时,您的高度始终为零(在D =距离)。你想要这个,或者你想要的高峰,轨迹的飞行时间和范围? – jonnybazookatone