Ваша ошибка, по-видимому, не ошибка питона, а математическая ошибка при разложении уравнения. Вы можете сделать одно из двух изменений:
Решение 1: сначала сложите все, затем возьмите е ^ от общей суммы
import math
a = [[1, 2, 3, 4],
[5, 6, 7, 8]]
def y(i):
p = 2
total = 0
for j in range (4):
total += a[i][j] * (p**j)
return math.exp(total)
Решение 2: правильно разложить показатель степени и изменить общее значение + = на общее значение * =
import math
a = [[1, 2, 3, 4],
[5, 6, 7, 8]]
def y(i):
p = 2
total = 0
for j in range (4):
total *= math.exp(a[i][j] * (p**j))
return total
Решение 1 более эффективно, так как не выполняет повторных вызовов math.exp ()