Atualizado: 04/11/2024

Operações Aritméticas - 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çõesDireçã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.

Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com