Python – Suma uno a n
Lenguaje: Python
Categoría: POC
Cubre: Recursividad
Nombre: suma_uno_a_n.py
Repositorio: https://github.com/carlosgbr/python0/blob/master/suma_uno_a_n.py
Compilado en: OnlineGdb
Enunciado
Implemente la función sum_numeros_positivos, como una función recursiva que devuelve la suma de todos los números positivos entre el número
n recibido y 1. Por ejemplo, cuando n es 3, debería devolver 1 + 2 + 3 = 6, y cuando n es 5 debería devuelve 1 + 2 + 3 + 4 + 5 = 15.
Código fuente
""" Recursividad: suma_uno_a_n.py
Por about.me/carlosgbr
Versión 1
Para Python 3.0 y superior
Recibimos un número n, y sumamos todos los números positivos entre 1 y n.
Utilizando una función Recursiva
"""
"""
ENUNCIADO: Implemente la función sum_numeros_positivos, como una función
recursiva que devuelve la suma de todos los números positivos entre el número
n recibido y 1. Por ejemplo, cuando n es 3, debería devolver 1 + 2 + 3 = 6,
y cuando n es 5 debería devuelve 1 + 2 + 3 + 4 + 5 = 15.
"""
def sum_numeros_positivos(n):
# El caso base es n siendo menor que 1
if n < 1:
return 0
# El caso recursivo es sumando éste número
# a la suma de números más pequeño que éste
return n + sum_numeros_positivos(n-1)
print(sum_numeros_positivos(3)) # Debe ser 6
print(sum_numeros_positivos(5)) # Debe ser 15
Salida del programa
Notas
Ninguna
Informar de errores
Si encuentras algún error o aporte a la información proporcionada por favor dirígela a soporte@ehack.mx
Otras consideraciones
Si deseas que desarrollemos un ejemplo en particular, escríbelo en los comentarios.
Referencias
- Coursera by Roberto C. González
Fuente Imágenes
- Imágenes cortesía by Nala Systems
Pruebas de concepto (PoC) en Python
Volver al índice de temas PoC en Python
El código fuente de toda la serie lo puedes descargar de nuestro repositorio en github busca los programas con el nombre del encabezado de cada programa.
POC - Python para Ethical Hack by Roberto C. González is licensed under a Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional License.