我被提出了以下问题(有点啰嗦):
在物理学中,对于一个长度为 L、初角为 A 的摆,它在 T 时刻的水平位移 X(T) 由下式给出
X(T) = L × cos(A × cos(T × √9.8/L)) - L × cos(A)
编写一个接受两行输入的程序;第一行是 L,第二行是 A。输出应该是十行,给出
X(0)
,X(1)
,X(2)
, ...,的值X(9)
。例如,如果第一行输入是53.1
,第二行输入是0.8
,那么第一行输出是 0.0,第二行输出是53.1*cos(0.8*cos(1*√9.8/53.1)) - 53.1*cos(0.8) ~ 2.6689
。
我写了以下代码来回答这个问题:
from math import sqrt
from math import cos
L = float(input())
A = float(input())
def X(T):
print(L*cos(A*cos(T*sqrt(9.8/L))-L*cos(A)))
for n in range(0, 9):
X(n)
...但我的答案总是出错。我可能在某处遗漏了一些括号,但我看不到在哪里。
我得到的输出:
3.545012155898153
7.383727226708044
17.92714440725987
31.889478979714276
44.23118522394127
51.212404291669216
53.079364553814806
52.890770379027806
52.999922313121566
我应该得到的输出:
0.0
2.6689070487226805
9.021742145820763
14.794542557581206
15.73774678328343
11.124903835610114
4.423693604072537
0.27377375601245213
1.295906539090336
6.863309996333497