Итак, я работаю с numpy
, и меня попросили создать функцию, которая возвращает входные слова «классы учеников» как среднее значение оценок на карте без использования цикла и единственное, что пришло мне в голову, чтобы сделать это возможным рекурсиюрекурсия не работает для меня
def hw_grade_average(_array):
condition=len(_array)
stop=condition
start=0
outp=[]
def calc(inp):
if stop-1==inp:
return outp
if stop!=inp:
calc=float(sum(_array[start]))/float(len(_array[start]))
outp.append(calc)
return calc(inp+1)
_returned = np.asarray(outp,dtype=float)
return calc(start)
на входе для примера
hw_grade_average(hw_grades)
где
hw_grades=
array([[ 57, 99, 100, 81, 77],
[ 70, 91, 57, 77, 56],
[ 74, 89, 62, 100, 99],
[ 61, 53, 42, 65, 21],
[ 81, 65, 40, 37, 60],
[ 75, 88, 100, 92, 95]])
Выход Я ищу это
array([82.8, 70.2, 84.8, 48.4, 56.5, 90. ])
, но я получаю, что
TypeError: 'float' object is not callable
Просто 'hw_grades.mean (axis = 1)'? – Divakar
'return calc (start + 1)', который этого не делает? @MooingRawr – Enigma
Если вы работаете с numpy, просто используйте numpy. – Lagerbaer