Я пытаюсь построить приближение для ln (1.9) с точностью до десяти цифр (так что 0,641853861).
Я использую простую функцию, которую я построил из ln[(1 + x)/(1 - x)]
Вот мой код:
# function for ln[(1 + x)/(1 - x)]
def taylor_two(r, n):
x = 0.9 / 2.9
i = 1
taySum = 0
while i <= n:
taySum += (pow(x,i))/(i)
i += 2
return 2 * taySum
print taylor_two(x, 12)
print taylor_two(x, 17)
Что мне нужно сделать сейчас, так это переформатировать это так, чтобы оно сообщало мне количество членов, необходимых для приближения ln (1.9) к указанным выше 10 цифрам, чтобы оно отображало значение, которое дает ряд, а также отображало ошибку.
Я предполагаю, что мне нужно как-то встроить мою функцию в цикл for, но как я могу заставить ее прекратить итерацию, как только она достигнет необходимых 10 цифр?
Спасибо за помощь!