Дано действительное число x. Вычислить с точностью 10^(-6)

На фото представлен пример, который мне нужно решить через Python. Дано действительно число x. Точность 10^-6. Решить через циклы. Вот что я сделал. Я рассуждал так: Если модуль числа с элементом k в этой сумме больше заданной точности, то оно удовлетворяет условию.

import math
x = float(input("Введите заданное число x: "))
k = 1
s = 0
p = math.pow(10, -6)
q = (math.pow(-1, k) * math.pow(x, k)) / k
v = math.fabs(q)
while (v >= p):
    s += q
    k += 1
    q = (math.pow(-1, k) * math.pow(x, k)) / k
    v = math.fabs(q)
    print(v)
print(s)

Ответы (1 шт):

Автор решения: MBo

pow здесь использовать ни к чему, следующая степень получается просто домножением на X. Перемена знака - тем более, умножение на -1

Результат можно проверить по формуле, приведённой pavel -math.log(x+1)

x = float(input("Введите заданное число x в пределах -1..1: "))
k = 1
q = -x
v = q
s = 0
eps = 1e-6
while (abs(v) > eps):
    #print(v)
    s += v
    k += 1
    q *= -x
    v = q / k
print(s)

или даже так:

x = float(input("Введите заданное число x в пределах -1..1: "))
k = 1
q = -x
s = 0
eps = 1e-6
while (abs(q) > eps):
    s += q
    q *= -x*k/(k+1)
    k += 1

import math
print(s, -math.log(x+1))
→ Ссылка