有人能告訴我爲什麼高度的結果總是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