# -*- coding: utf-8 -*-
# primera parte
def factorial(num):
    fact = 1
    while num > 0:
        fact *= num
        num -= 1 
    return fact
    
def run():
    #segunda parte
    num = int(input('Escriba un número: '))
    if num >= 0:
        resultado = factorial(num)
        print('El factorial de {} es: {}.'.format(num, resultado))
    else:
        print('Solamente puede ingresar números enteros positivos')


if __name__ == '__main__':
    print('FUNCIÓN FACTORIAL')
    print('')
    run()

primera parte

  • Para empezar a construir la función factorial inicializamos fact en 1 (esto hace que para números menores a 0 también den una respuesta, pero eso se soluciona más adelante con un condicional ).

  • Mientras el número que se ingrese sea mayor se repetirá el ciclo, para garantizar que en algún momento esta condición sea falsa, se le irá restando 1 a “num” en cada ciclo. Antes de esto, “fact” se irá haciendo igual a “fact * num” (cumpliendo con lo que dice la función factorial: n! = n × (n-1)!)

  • La función regresa el factorial (fact) del numero que se ingrese.

segunda parte

  • Se pide que se ingrese un número.

  • Se usa un condicional para garantizar que solo se muestre el resultado para números enteros positivos. Si el número es mayor o igual a cero imprime el resultado de la operación, si no es así, imprime “Solamente puede ingresar números enteros positivos”.

!Gracias por leer! espero que sea de ayuda.

0 Comentarios

para escribir tu comentario

Artículos relacionados