2014-10-05 5 views
-3

1 - 1/2 + 1/3 - 1/4 + 1/5 -... 1/n에 n 개의 용어를 더하여 자연 로그를 계산합니다. 여기서 n은 양의 정수이고 사용자가 입력합니다.for 루프를 사용하는 용어 추가

내 문제는 방정식에있는 것 같습니다. 당신은 항상 당신의 루프의 마지막 두 용어를 계산하는 - -이 시도 또는 오히려 I는 입력의 모든 정수를 추가를 시작하는 방법을 알고 그냥 1 또는 2

def LogEquation(n) 
    n = int(input("Enter an integer: ")) 
    for n in range (1, n+1): 
     log = 1 - 1/n + 1/n+1 
    print (log) 


LogEquation() //function called 
+0

정수부? –

+0

당신은 python3을 사용하고 있기 때문에, 나는 그것이 정수 나누기의 문제라고 생각하지 않습니다. 오히려''1/n + 1''에 대해'1/n + 1'이'1/(n + 1)'이 아닌'(1/n) + 1'로 해석되고 있다고 생각합니다. – karthikr

+0

' integer n' – DOOM

답변

1

수식이 잘못하지 말아 , 당신은 항상 로그에 무언가를 추가해야합니다. 또한 'n'두 개의 다른 것들 - 입력 변수와 루프 -을 사용하는 것은 좋은 습관이 아닙니다.

def LogEquation(): 
    n = int(input("Enter an integer: ")) 
    log = 0 

    sgn = +1 # Do we add or subtract 

    for a in range (1, n+1): 
     log = log + sgn * 1.0/a # Use 1.0 so we do floating point arithmetic 
     sgn = -sgn # We added the last term - so subtract the next 

    print (log) 

LogEquation() 
+0

이것은 변경 사항에 대한 자세한 설명 (예 : 루프 변수)과 함께 할 수 있으며 매개 변수 'n'은 무의미합니다. – jonrsharpe

+0

n은 무의미한 것이 아닙니다. OP가 계산의 정확도를 정의하는 데 사용하는 것입니다. –

+0

... 즉시 사용자 입력으로 바뀝니다. – jonrsharpe

관련 문제