Bom, tentei fazer assim: def distPercorrida(lista): def distancia(p1, p2): def prim((x,y)): return x def seg((x,y)): return y def dx(): return prim(p1) - prim(p2) def dy(): return seg(p1) - seg(p2) return sqrt(dx()**2 + dy()**2) return reduce(distancia,lista,(0,0)) Quanto tento calcular a distancia entre dois pontos dá certo, mas quando são tres ou mais pontos dá erro: distPercorrida([(5, 7), (6, 7), (7, 8)]) TypeError: 'float' object is not iterable alguém poderia me explicar como corrigir isso? Agradeço.