Python - Programa que calcula factorial con una lista

 
Vista:

Programa que calcula factorial con una lista

Publicado por Antonio (2 intervenciones) el 17/08/2018 00:59:00
Hola, he elaborado un programilla para calcular el factorial de un número, utilizando una lista y multiplicando sus números. El programa parece que funciona bien, pero hay algo que no encaja y no sé qué es:

1
2
3
4
5
6
7
8
def factorial(a):
    lista=[]
    for i in range(1,a):
        lista.append(i)
    suma=1
    for num in lista:
        suma*=num
    print(suma)

Si lo ejecutamos, el programa calcula correctamente, utilizando la lista creada con los numeros desde el 1 hasta el que el usuario introduzca: por ejemplo el número 20:

factorial(20)
121645100408832000

Pero en cambio cuando miro qué contiene la lista, no es una lista del 1 al 20:

lista
Out[62]: [1, 2, 3, 4, 5, 6, 7, 8, 9]

¿Qué puede estar pasando?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 765
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Programa que calcula factorial con una lista

Publicado por dario (185 intervenciones) el 17/08/2018 05:10:28
Hola, te dejo este codigo espero te sirva.
Muestra el factorial y la lista de numeros.
Salu2.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def factorial(n):
  lista = []
  p = 1
 
  for i in range(1,n+1):
    lista.append(i)
 
  for numeros in lista:
    p = p * numeros
 
  print('el factorial de %d es %d\n' %(n,p))
  print(lista)
 
#Main
factorial(20)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar