dolphin23
@dolphin23
Новичок в программировании

Как менять параметр функции внутри другой функции?

Высчитываю двойной интеграл степенной функции
def dbl_integral(f, a1, b1, a2, b2, n1, n2):
    j = 0
    N = b1 - a1
    h = (n2-n1)/N
    n = n1
    I = []

    while j != N:
        f = lambda x, y: x**n # здесь надо менять не всю функцию напрямую а лишь изменять параметр n
        i = scipy.integrate.dblquad(f, a1, b1, a2, b2)[0]
        I.append(i)
        n += h
        j += 1
    return I

Я хочу потом этот метод использовать и под другие похожие функции, все что мне надо делать это менять параметр n внутри функции, а сейчас получается так что я переписываю полностью всю функцию(хардкод кароче). Как можно это решить?
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
mayton2019
@mayton2019
Bigdata Engineer
Для обобщенного метода интегрирования как раз удобно передавать не один параметр а всю лямбду.

f = lambda x, y: x**n

передавай эту всю колбасу как параметр для dbl_integral.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы