Как вызвать функцию на основе двух функций? Имеется функций несколько. В первой формируется первый массив, во второй -- второй массив. В третьей эти массивы перемножаются, получается новый третий массив. И как только, в четвертой функции, я хочу построить график зависимости первого массива от третьего, начинаются проблемы.
Код схематично вот такой:def getarray1():
#Получаю первый массив
return array1

def getarray2():
#Получаю второй массив
return array2

def getarray3(array1, array2):
#Перемножаю элементы первого и второго массивов,
#получаю третий массив.
return array3

def buildgraph(array1, array3):
plt.plot(array1, array3)

plt.xlabel('x')
plt.ylabel('y')
plt.title('Title name')
plt.savefig("test.png")
plt.show()

getarray3(getarray1(), getarray2())
buildgraph(getarray1(), getarray3())
В итоге getarray1 вызывается два раза, а потом выбивается ошибка о том, что getarray3 требует параметры array1 и array2. В общем-то говоря: что неверно?

21 Авг 2019 в 07:05
198 +1
0
Ответы
1

Проблема заключается в том, что при вызове функции getarray3(getarray1(), getarray2()) вы не сохраняете результат возвращаемого значения в переменную, поэтому при вызове функции buildgraph(getarray1(), getarray3()) результат вызова getarray1() пересчитывается заново, что вызывает ошибку, так как функция getarray3() требует два параметра.

Чтобы исправить это, можно сохранить результат вызовов функций getarray1() и getarray2() в переменные, а затем передавать их параметрами в функции getarray3() и buildgraph(). Примерно так:

array1 = getarray1()
array2 = getarray2()
array3 = getarray3(array1, array2)
buildgraph(array1, array3)

Таким образом, результаты выполнения функций будут сохранены в переменных и будут использованы в последующих вызовах функций без дополнительного пересчета.

20 Апр в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 83 852 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир