W3docs

Somar Dois Números

Aprenda a somar dois números em Python com o operador +, sum() e functools.reduce(). Inclui inteiros, floats e conversão de entrada do usuário.

Somar dois números é uma das primeiras operações aritméticas que você precisa entender em Python. Python suporta várias abordagens: o operador + simples para os casos mais diretos, a função embutida sum() quando se trabalha com uma coleção, e functools.reduce() para código em estilo funcional. Esta página cobre os três métodos, além do passo importante de converter a entrada do usuário para um tipo numérico antes de somar.

Método 1: Usando o Operador +

O operador de adição + é a forma mais direta de somar dois números. Funciona com inteiros, floats e números complexos.

python— editable, runs on the server

O mesmo operador funciona com floats sem nenhuma alteração:

x = 3.5
y = 1.2
print(x + y)   # Output: 4.7

Dica sobre nomes de variáveis: evite nomear uma variável sum — isso oculta a função embutida sum() do Python e pode causar bugs confusos mais adiante no seu código.

Método 2: Somando Números da Entrada do Usuário

Quando um usuário digita um número, Python o recebe como uma string. Você deve convertê-lo para um inteiro com int() ou para um número de ponto flutuante com float() antes de realizar operações aritméticas. Veja Python Casting para uma explicação completa sobre conversão de tipos.

a = int(input("Enter first number: "))
b = int(input("Enter second number: "))
result = a + b
print("The sum is:", result)

Se a entrada puder conter decimais, use float() em vez de int():

a = float(input("Enter first number: "))
b = float(input("Enter second number: "))
print("The sum is:", a + b)

Método 3: Usando a Função Embutida sum()

A função embutida sum() do Python soma todos os itens em um iterável (como uma lista ou tupla). É a ferramenta certa quando você tem mais de dois números para somar.

python— editable, runs on the server

sum() também aceita um argumento opcional start, que é adicionado ao resultado:

total = sum([1, 2, 3], 10)   # 10 + 1 + 2 + 3
print(total)                  # Output: 16

Isso é útil quando você deseja acumular em um total acumulado.

Método 4: Usando functools.reduce()

reduce() do módulo functools aplica repetidamente uma função de dois argumentos sobre uma sequência, reduzindo-a a um único valor. Para adição simples, sum() é mais claro, mas reduce() é valioso quando a função de combinação é mais complexa do que +.

python— editable, runs on the server

Você também pode passar uma lambda em vez de uma função nomeada:

from functools import reduce

total = reduce(lambda x, y: x + y, [10, 20, 30, 40, 50])
print(total)   # Output: 150

Escolhendo a Abordagem Correta

SituaçãoAbordagem recomendada
Somar dois valores conhecidosoperador +
Ler números do tecladoint() / float() e depois +
Somar uma lista ou tuplasum()
Aplicar uma função de combinação personalizadafunctools.reduce()

Tópicos Relacionados

Was this page helpful?