Я написал функцию, которая, учитывая члены уравнения, может найти производные.Однако, когда один из членов равен нулю, функция выходит из строя.Как бы я использовал фильтр, чтобы убедиться, что термины, умноженные на ноль, не возвращаются?
Вот мой базовый код, который работает, но еще не включает фильтр:
def find_derivative(function_terms):
return [(function_terms[0][0]*function_terms[0][1], function_terms[0][1]-1),(function_terms[1][0]*function_terms[1][1], function_terms[1][1]-1)]
function_terms [1] [1] -1 уменьшает мощность члена производной на 1.
Это работает следующим образом.
Вход:
# Represent each polynomial term with a tuple of (coefficient, power)
# f(x) = 4 x^3 - 3 x
four_x_cubed_minus_three_x = [(4, 3), (-3, 1)]
find_derivative(four_x_cubed_minus_three_x)
Выход:
[(12, 2), (-3, 0)]
Это правильный ответ 12 x^2 - 3
Но здесь он ломается:
Ввод:
# f(x) = 3 x^2 - 11
three_x_squared_minus_eleven = [(3, 2), (-11, 0)]
find_derivative(three_x_squared_minus_eleven)
ЭтоПредполагается найти производную, учитывая уравнение.
Вывод:
((6, 1), (0, -1))
Имеет термин "призрак" 0 * x^(-1)
;Я не хочу, чтобы этот термин был напечатан.
Ожидаемый результат: [(6, 1)]