Escribir una función map que reciba una lista del 1 al 15 y de cada uno calcule su factorial.
Nota: El factorial de un entero natural n es el producto de enteros estrictamente positivos menores o iguales a n. Por ejemplo, el factorial de 4 se calcula con el siguiente producto 4*3*2*1 = 24
Código del ejercicio:
Definición de los códigos del ejercicio:
def --> una función es un grupo de declaraciones relacionadas que realizan una tarea específica.return --> permite que una función devuelva un valor.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
lista = [1,2,3,4] --> son variables que almacenan arrays, internamente cada posición puede ser un tipo de datos distinto.
list() --> crea un objeto de lista. Un objeto de lista es una colección ordenada y modificable.
map() --> ejecuta una función específica para cada elemento en un iterable. El elemento se envía a la función como un parámetro.
, --> concatena variables de cadena.
print() --> imprime un mensaje en la pantalla.
Explicación del Código:
Este ejercicio utiliza una función para calcular el factorial de cada número de una lista del 1 al 15. Después, la función map() aplica esa función a todos los elementos de la lista.
¿Qué hace cada código?
| Código | Explicación sencilla |
|---|---|
def factorial(n): |
Crea una función llamada factorial que recibe un número llamado n. |
if n == 1: |
Comprueba si el número n es igual a 1. Este es el caso donde termina la recursividad. |
return n |
Si n es 1, devuelve el valor 1. |
else: |
Indica qué hacer cuando n no es igual a 1. |
return n * factorial(n-1) |
Calcula el factorial multiplicando n por el factorial del número anterior. La función se llama nuevamente a sí misma. |
lista = [1,2,3,...,15] |
Crea una lista que contiene los números desde el 1 hasta el 15. |
map(factorial, lista) |
map() aplica la función factorial a cada número de la lista. |
list(...) |
Convierte el resultado de map() en una lista para poder mostrar todos los resultados. |
print(...) |
Muestra en pantalla la lista con todos los factoriales calculados. |
Código completo en Python
def factorial(n):
if n == 1:
return n
else:
return n * factorial(n-1)
lista = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
print(list(map(factorial,lista)))
Resultado
[1, 2, 6, 24, 120, 720, 5040, 40320,
362880, 3628800, 39916800, 479001600,
6227020800, 87178291200, 1307674368000]
¿Cómo funciona map()?
La función map() toma cada número de la lista y le aplica la función factorial().
Por ejemplo:
- 1 → 1! = 1
- 2 → 2! = 2
- 3 → 3! = 6
- 4 → 4! = 24
- 5 → 5! = 120
Y así continúa hasta calcular el factorial de 15.
No hay comentarios.:
Publicar un comentario