Упражнение по кодированию: смотреть маятник
В физике для маятника с длиной L и начальным углом A его горизонтальное> смещение X(T) в момент времени 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,6899.
import math
L = float(input())
A = float(input())
for T in range (0,9):
print(L*math.cos(A*math.cos(T*math.sqrt(9.8/L))-L*math.cos(A)))
Я написал это, и я не могу понять, что я делаю не так?
вход:
53.1
0.8
мой вывод:
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
1 ответ
У вас есть брекет в неправильном месте, поменяйте
L*math.cos(A*math.cos(T*math.sqrt(9.8/L))-L*math.cos(A))
в
L*math.cos(A*math.cos(T*math.sqrt(9.8/L)))-L*math.cos(A)
Это дало правильный вывод на моем компьютере
Изменить: также изменить range(0,9)
в range(10)