Trata-se de um erro clássico. O operador de divisão está sobrecarregado, pelo que faz divisão inteira ou em vírgula flutuante em função dos argumentos. Muitas vezes queremos a divisão em vírgula flutuante, mas não podemos garantir
no momento da divisão, que pelo menos um dos números não seja inteiro. Uma solução passa por forçar um dos números a passar a vírgula flutuante
antes da divisão.
1.
>>> n
=
1
2.
>>> m
=
3
3.
>>> n
/
m
4.
0
5.
>>> float(n)
/
m
6.
0.33333333333333331
7.
>>>
Em Python 3 este problema foi resolvido. Passamos a ter dois operadores para a divisão:
/, divisão entre números em vírgula flutuante,
// para a divisão inteira.
Sem comentários:
Enviar um comentário