Operações Aritméticas em Python
O Python suporta todas as operações aritméticas básicas:
+
Soma de dois números:print(6 + 2) # 8
-
Subtração de dois números:print(6 - 2) # 4
*
Multiplicação de dois números:print(6 * 2) # 12
/
Divisão de dois números:print(6 / 2) # 3.0
//
Divisão inteira de dois números:print(7 / 2) # 3.5 print(7 // 2) # 3
Essa operação retorna o resultado inteiro da divisão, descartando a parte decimal.
**
Exponenciação:print(6 ** 2) # Eleva o número 6 ao quadrado. Resultado: 36
%
Resto da divisão:print(7 % 2) # Resto da divisão de 7 por 2. Resultado: 1
Neste caso, o número mais próximo de 7 que é divisível por 2 é 6. Portanto, o resto da divisão é 7 - 6 = 1.
Ao usar várias operações aritméticas em sequência, elas são executadas de acordo com a sua prioridade. Primeiro, são realizadas as operações com maior prioridade. Operadores com a mesma precedência são avaliados da esquerda para a direita, exceto no caso do operador de exponenciação, que é avaliado da direita para a esquerda. A ordem de prioridade das operações é listada abaixo:
Operações | Direção |
---|---|
** | Da direita para a esquerda |
*, /, //, % | Da esquerda para a direita |
+, - | Da esquerda para a direita |
Vamos analisar o seguinte exemplo:
number = 3 + 4 * 5 ** 2 + 7
print(number) # 110
Neste caso, a exponenciação (5 *_ 2) é realizada primeiro, pois tem maior prioridade, resultando em 25. Depois, esse valor é multiplicado por 4 (25 _ 4), seguido da soma (3 + 100) e finalmente a última soma (103 + 7).
Para alterar a ordem das operações, podemos usar parênteses:
number = (3 + 4) * (5 ** 2 + 7)
print(number) # 224
Vale ressaltar que tanto números inteiros quanto números com ponto flutuante podem ser usados nas operações aritméticas. Se um número inteiro (int
) e um número de ponto flutuante (float
) forem usados juntos, o inteiro é convertido para float
.
Operações Aritméticas com Atribuição
Algumas operações permitem atribuir o resultado diretamente ao primeiro operando:
+=
Atribui o resultado da soma-=
Atribui o resultado da subtração*=
Atribui o resultado da multiplicação/=
Atribui o resultado da divisão//=
Atribui o resultado da divisão inteira**=
Atribui o resultado da exponenciação%=
Atribui o resto da divisão
Exemplos:
number = 10
number += 5
print(number) # 15
number -= 3
print(number) # 12
number *= 4
print(number) # 48
Arredondamento e a Função round
Ao trabalhar com números do tipo float
, é importante considerar que o resultado pode não ser exato. Por exemplo:
first_number = 2.0001
second_number = 5
third_number = first_number / second_number
print(third_number) # 0.40002000000000004
Esperávamos o valor 0.40002, mas aparece uma pequena diferença no final. Outro exemplo:
print(2.0001 + 0.1) # 2.1001000000000003
Nesse caso, podemos usar a função round()
para arredondar o resultado:
first_number = 2.0001
second_number = 0.1
third_number = first_number + second_number
print(round(third_number)) # 2
A função round()
aceita um número a ser arredondado. Se for passado apenas um número, ele é arredondado para o valor inteiro mais próximo.
A função também pode receber um segundo argumento, que indica o número de casas decimais:
first_number = 2.0001
second_number = 0.1
third_number = first_number + second_number
print(round(third_number, 4)) # 2.1001
Neste caso, o valor third_number
é arredondado para 4 casas decimais.
Exemplos de arredondamento:
# arredondamento para o número inteiro mais próximo
print(round(2.49)) # 2
print(round(2.51)) # 3
Se a parte decimal estiver igualmente distante de dois números inteiros, o arredondamento é feito para o número par mais próximo:
print(round(2.5)) # 2
print(round(3.5)) # 4
Arredondamento para duas casas decimais:
print(round(2.554, 2)) # 2.55
print(round(2.5551, 2)) # 2.56
print(round(2.499, 2)) # 2.5
É importante notar que a função round()
segue algumas regras específicas, e devido à forma como números flutuantes são representados em Python, pode haver resultados inesperados:
print(round(2.545, 2)) # 2.54
print(round(2.555, 2)) # 2.56
print(round(2.575, 2)) # 2.58
Para mais informações sobre essas questões, consulte a documentação oficial do Python.