sábado, 23 de septiembre de 2017

Factorial de un número en Python

Puede descargar el archivo: factorial.py

Comenzamos pidiendo al usuario que introduzca un número. Si no se introduce nada se calculará el factorial de 5. Observe el operador lógico or.
Introducimos un control de excepciones por si se produce un error. Observe que antes del input hemos añadido int para asegurarnos que entran números enteros. Si se añade un texto o un número decimal se produciría un error. El tratamiento de las excepciones o errores se consigue con try y con except.

#Calcula el factorial de un número entero mayor o igual a cero, hasta 120  
#Si no se introduce ningún número se calcula el factorial de 5  
while True:  
 try:  
  n=int(int(input("Introduzca un número entero, no negativo: ") or 5))  
  break  
 except ValueError:  
  print("No es un número válido, pruebe de nuevo.")  
factor=1 #por definición el factorial de cero es 1  
if n>0:  
 for i in range(1,n+1):  
  factor *=i  
 print("El factorial de ",n," es = ",factor)  
elif n<0:  
 print("El número no puede ser negativo.")  
else:  
 print("El factorial de cero, por definición, es 1")  

Para el cálculo del factorial observe la expresión factor*=i, que permite ir multiplicando los valores sucesivos.
Hemos añadido un if ya que por definición el factorial de cero es uno.

No hay comentarios:

Publicar un comentario