Реализовать функцию, оперирующую векторами длины n
Примеры результатов вычислений:
f([0.78, 0.26, 0.24, -0.51]) = -3.91e+01
f([-0.46, -0.17, -0.26, -0.96]) = -1.95e+04
f([-0.28, -0.42, -0.85, 0.49]) = -8.06e+03
f([0.62, 0.91, -0.97, 0.98]) = -4.42e+04
f([0.33, 0.98, 0.48, 0.23]) = -2.55e-01
пробовал:
import math
def f(x):
n = len(x)
res = 0
for i in range(1, n+1):
index = n+1-math.ceil(i/2)
res += (1-7*x[index]**2-x[index]/38)**3
return 61*res
выводит:
Traceback (most recent call last):
File "<pyshell#29>", line 1, in <module>
f([0.78, 0.26, 0.24, -0.51])
File "C:\Users\rhodonited\AppData\Local\Programs\Python\Python310\python-homework.py", line 44, in f
res += (1-7*x[index]**2-x[index]/38)**3
IndexError: list index out of range
Источник: Stack Overflow на русском