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.
El mismo operador funciona con flotantes sin ningún cambio:
x = 3.5
y = 1.2
print(x + y) # Output: 4.7Consejo 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.
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: 16Esto 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 +.
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: 150Elegir el Enfoque Correcto
| Situación | Enfoque recomendado |
|---|---|
| Sumar dos valores conocidos | Operador + |
| Leer números desde el teclado | int() / float() y luego + |
| Sumar una lista o tupla | sum() |
| Aplicar una función de combinación personalizada | functools.reduce() |
Temas Relacionados
- Python Variables — cómo almacenar y nombrar valores
- Python Operators — referencia completa de operadores aritméticos, de comparación y lógicos
- Python Numbers — enteros, flotantes y números complejos explicados
- Python Casting — conversión entre tipos con
int(),float()ystr() - Python User Input — leer valores desde el teclado con
input()