Trabalhando com divisão de números inteiros com resultados decimais em Python 2

Gutierri Barboza
gutierri
Published in
1 min readJul 5, 2016

Essa é uma questão simples para quem já tem uma certa noção de Python ou para quem já migrou de vez para Python 3, mas para quem está começando e usa Python 2 ou precisa dar suporte para essa versão, este artigo pode ajudar.

Em Python 2 quando se faz divisões em que os operandos são inteiros o interpretador do Python automáticamente trunca a parte fracionada retornando apenas o valor inteiro. Exemplo:

>>> 3 / 4
0

Veja que ele retornou um inteiro e o que queremos é o valor fracionado que é:

0.75

Para resolver isso, precisamos explicitamente dizer que um dos operandos é um decimal(float) e a duas formas de fazer isso. Podemos em um dos operados colocar um nº.0 ou envolver com a função float(). Exemplo com as duas forma:

>>> 3 / 4.0
0.75

ou

>>> 3/ float(4)
0.75

Essa questão já foi resolvida no Python 3, então lá não a necessidade de transformar nenhum valor em float para receber um valor do mesmo tipo.

--

--