2013-03-27 5 views
2

진 공식은 (그것의 조금 장황한) 물리학에서파이썬 - I는 다음과 같은 질문을 제기되었다

, 길이 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)의 값을 제공하는 10 개의 라인이어야합니다. 예를 들어, 입력의 첫 번째 줄이 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 
+0

당신이 어떻게해야합니까, 그리고 어떤 대답이 무엇인지 답을 기대 그래서 결국 하나 브래킷은 더 앞을 가야하나요? –

+0

언제든지 질문을 편집 할 수 있습니다. 따라서 이러한 출력물은 원래 게시물의 본문에 추가 될 수 있습니다. –

답변

1

. 다음은 그것을 수정합니다 :

print(L*cos(A*cos(T*sqrt(9.8/L)))-L*cos(A)) 
           ^added ^removed 
+0

고마워, 그리고 제출 한 다른 사람에게. – user2080719

2

당신이 놓치고있는 괄호 최초의 코사인 후

L * cos(
    A * cos(
    T* sqrt(9.8/L) 
) 
) - L * cos(A) 

L*cos(A*cos(T*sqrt(9.8/L)))-L*cos(A) 
1

처음 왜냐하면 이전에 끝나야 같은 물리적 공식 보이는해야합니다.

print(L * cos(A * cos(T * sqrt(9.8/L))) - L * cos(A)) 

비트 명확 :

firstCos = cos(A * cos(T * sqrt(9.8/L))) 
print(L * firstCos - L * cos(A)) 
관련 문제