Trabalhando com divisão de números inteiros com resultados decimais em Python 2
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.