Código de Python - Calcular el factorial de un número en Python

Imágen de perfil

Calcular el factorial de un número en Pythongráfica de visualizaciones


Python

estrellaestrellaestrellaestrellaestrella(8)
Actualizado el 06 de Abril del 2016 por Xavi (Creado el 29 de Septiembre del 2013)
26.838 visualizaciones desde el 29 de Septiembre del 2013. Una media de 168 por semana
Simple código que muestra como calcular el factorial de un número utilizando una función recursiva.

Versión 1
estrellaestrellaestrellaestrellaestrella(8)

Actualizado el 06 de Abril del 2016 (Creado el 29 de Septiembre del 2013)gráfica de visualizaciones de la versión: Versión 1
26.839 visualizaciones desde el 29 de Septiembre del 2013. Una media de 168 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# -*- coding: UTF-8 -*-
 
"""
Simple código que devuelve el factorial de un numero dado

Para calcular dicho valor, hay que multiplicar el numero dado, por su
antecesor mientas sea superior a 1

Ejemplo del factorial de 5 seria:
	5 * 4 * 3 * 2 * 1  = 120
"""
 
def factorial(x,n):
	"""
	Función recursiva que calcula el factorial
	Tiene que recibir:
		x=>El ultimo valor calculado
		n=>El numero a multiplicar
	"""
	if(n>0):
		# Se va llamando a ella misma mientras el valor sea superior a 0
		x=factorial(x,n-1)
		x=x*n
	else:
		x=1
	return x
 
try:
	numero = int(raw_input("inserta un numero "))
 
	# Ejecutamos la función recusiva para el calculo
	calculo=factorial(1,numero)
	print "El factorial de %s es %s" % (numero,calculo)
except:
	print "\nTiene que ser un valor numerico"



Comentarios sobre la versión: Versión 1 (8)

mauricio
03 de Septiembre del 2015
estrellaestrellaestrellaestrellaestrella
este esta mejor:
def factorial (*n):
for x in n:
fac=1
for y in range(1,x+1):
fac=fac*y
print fac

y en el shell, solamente escriben:
factorial(5)
Responder
null
15 de Enero del 2016
estrellaestrellaestrellaestrellaestrella
y = input("Type a number:")
x = int(y)
count = 1
z = 1
while z <= x:
count = count * z
z = z + 1
print(count)
Responder
Frosecold
04 de Marzo del 2016
estrellaestrellaestrellaestrellaestrella
def factorial(X):
prod=1
for i in range(1,X+1):
prod=prod*i
return prod
Responder
Max
06 de Abril del 2016
estrellaestrellaestrellaestrellaestrella
El desglose del factorial de un 5 no es exactamente 5 * 4 * 3 * 2 * 1 * 0, porque multiplicando por 0 tendríamos 0 de resultado, pequeño detalle.
Responder
Imágen de perfil
Xavi
06 de Abril del 2016
estrellaestrellaestrellaestrellaestrella
Tienes razón Max, ya lo he corregido!!!
Responder
Christian
26 de Mayo del 2016
estrellaestrellaestrellaestrellaestrella
por que en factoriales el 0 es igual a 1
Responder
Sebastián
22 de Octubre del 2016
estrellaestrellaestrellaestrellaestrella
Podemos demostrarlo de la siguiente manera.
Sabemos que 1!=1 y todo factorial de un número n cumple la siguiente condición: n!=n*(n-1)!; por lo tanto:
1!=1*(1-1)!→1!=1*0!→1!/1=0!→1/1=0!→1=0!
Queda así demostrado que 0!=1.
Espero haberte ayudado.
Responder
WALEX
22 de Noviembre del 2016
estrellaestrellaestrellaestrellaestrella
factorial=1
print("Dame un numero")
x=eval (input())
for i in range (1,x+1):
factorial=factorial*i

print(factorial)
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s2496