W3docs

Sumar Dos Números

Aprende a sumar dos números en Python con el operador +, sum() y functools.reduce(). Incluye enteros, flotantes y conversión de entrada.

Sumar dos números es una de las primeras operaciones aritméticas que necesitas comprender en Python. Python admite varios enfoques: el operador + para los casos más simples, la función integrada sum() cuando se trabaja con una colección, y functools.reduce() para código de estilo funcional. Esta página cubre los tres, además del importante paso de convertir la entrada del usuario a un tipo numérico antes de sumar.

Método 1: Usar el Operador +

El operador de adición + es la forma más directa de sumar dos números. Funciona con enteros, flotantes y números complejos.

python— editable, runs on the server

El mismo operador funciona con flotantes sin ningún cambio:

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

Consejo sobre nombres de variables: evita nombrar una variable sum — esto oculta la función integrada sum() de Python y puede provocar errores confusos más adelante en tu código.

Método 2: Sumar Números desde la Entrada del Usuario

Cuando un usuario escribe un número, Python lo recibe como un string. Debes convertirlo a un entero con int() o a un número de punto flotante con float() antes de poder hacer operaciones aritméticas. Consulta Python Casting para una explicación completa de la conversión de tipos.

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

Si la entrada puede contener decimales, usa float() en lugar de int():

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

Método 3: Usar la Función Integrada sum()

La función integrada sum() de Python suma cada elemento de un iterable (como una lista o tupla). Es la herramienta adecuada cuando tienes más de dos números que sumar.

python— editable, runs on the server

sum() también acepta un argumento opcional start, que se añade al resultado:

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

Esto es útil cuando deseas acumular en un total acumulado.

Método 4: Usar functools.reduce()

reduce() del módulo functools aplica una función de dos argumentos repetidamente sobre una secuencia, reduciéndola a un único valor. Para sumas simples, sum() es más claro, pero reduce() es valioso cuando la función de combinación es más compleja que +.

python— editable, runs on the server

También puedes pasar un lambda en lugar de una función con nombre:

from functools import reduce

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

Elegir el Enfoque Correcto

SituaciónEnfoque recomendado
Sumar dos valores conocidosOperador +
Leer números desde el tecladoint() / float() y luego +
Sumar una lista o tuplasum()
Aplicar una función de combinación personalizadafunctools.reduce()

Temas Relacionados

Was this page helpful?