Hi Robin, I had to change the lambda in centroid for me. The global function fn was not found in lambda. Don't know why fn in centroid is global ? def centroid(P): '''compute average point of a set of points''' fn = float(len(P)) return reduce(lambda x,y,fn=fn: (x[0]+y[0]/fn,x[1]+y[1]/fn),P,(0,0)) Regards, Dirk