Я написал функцию, которая по условиям уравнения может найти производные. Однако, когда один из членов равен нулю, функция ломается. Как бы я использовал фильтр, чтобы убедиться, что термины, умноженные на ноль, не возвращаются?
Вот мой базовый код, который работает, но еще не включает фильтр:
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)]
f(x-1)
с учетомf(x)
и производной? Это не то же самое, что найти производную. - person Prune   schedule 25.10.2018[(6, 1)]
. И предполагается найти производную, учитывая уравнение f(x) = три х в квадрате минус одиннадцать.function_terms[1][1]-1
уменьшает степень члена производной на 1. - person EB Gold   schedule 25.10.2018