Función de rango decimal

Crea una función que pueda recibir 1, 2 o 3 argumentos: 1 es el inicio, 2 es el final y 3 es el paso, y que devuelva un arreglo. Debe poder devolver valores de tipo flotante.

Ejemplos

Default Values Start = 0, Step = 1
drange(1.2, 5.9, 0.45) ➞ [1.20, 1.65, 2.10, 2.55, 3.00, 3.45, 3.90, 4.35, 4.80, 5.25, 5.70]
// start = 1.2 stop = 5.9 and step = 0.45
//1.2, 1.2+0.45=1.65,1.65+0.45=2.1,...,5.7 Should be less than 5.9

drange(10) ➞ [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
// start = 0 ,  stop = 10  and step = 1
//0,0+1=1,...,9                          Should be less than 10.

drange(1, 7, 1.2) ➞ [1.0, 2.2, 3.4, 4.6, 5.8]
// start = 1  stop = 7 and step = 1.2
// 1, 1+1.2=2.2, 2.2 + 1.2=3.4,...5.8   Should be less than 7.

Notas

Redondea siempre los valores al número de dígitos decimales más alto (por ejemplo, en el primer ejemplo, la respuesta siempre debe redondearse a 2 dígitos. En el segundo, debe redondearse a 0 dígitos y en el tercero, a 1 dígito).