Função de intervalo decimal

Crie uma função que possa receber 1, 2 ou 3 argumentos (como a função range) e retorne uma tupla. Ela deve ser capaz de retornar valores de ponto flutuante (ao contrário da função range, que não pode receber valores de ponto flutuante como passo).

Exemplos

drange(1.2, 5.9, 0.45) ➞ (1.2, 1.65, 2.1, 2.55, 3.0, 3.45, 3.9, 4.35, 4.8, 5.25, 5.7)

drange(10) ➞ (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

drange(1, 7, 1.2) ➞ (1, 2.2, 3.4, 4.6, 5.8)
# Here 7 is not included, like in the range function.

Notas

Sempre arredonde os valores para o número com mais dígitos decimais (por exemplo, no primeiro exemplo, a resposta deve ser sempre arredondada para 2 dígitos. No segundo, deve ser arredondada para 0 dígitos e, no terceiro, para 1 dígito).