0
所以我正在與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
'返回calc(start + 1)'不這樣做? @MooingRawr – Enigma
如果你正在使用numpy,那麼只需使用numpy。 – Lagerbaer