import math
p = eval(input("Введите степень p, например 11/2: "))
x_nodes = [float(v) for v in input("Введите узлы x_i через запятую: ").split(",")]
a = float(input("Введите точку a: "))
f = lambda x: math.log(x) ** p
y_nodes = [f(xi) for xi in x_nodes]
def L(x):
s = 0
for i in range(len(x_nodes)):
l = 1
for j in range(len(x_nodes)):
if i != j:
l *= (x - x_nodes[j]) / (x_nodes[i] - x_nodes[j])
s += y_nodes[i] * l
return s
L_a = L(a)
f_a = f(a)
print("Значение полинома Лагранжа L(a) =", L_a)
print("Точное значение f(a) =", f_a)
print("Абсолютная погрешность =", abs(f_a - L_a))