<reponame>TheCarvalho/atividades-wikipython
'''
20. Altere o programa de cálculo do fatorial, permitindo ao usuário calcular o fatorial várias vezes e limitando o fatorial a
números inteiros positivos e menores que 16.
'''

from os import system
from time import sleep

while True:
    system('cls')
    op = 'a'
    try:
        num = int(input('Insira o valor a ser fatorado: '))
        if num < 1 or num > 16:
            system('cls')
            print('Insira um valor positivo, inteiro menor que 16.')
            sleep(2)
            continue
    except:
        system('cls')
        print('Insira um valor positivo, inteiro menor que 16.')
        sleep(2)
        continue

    print(f'{num}! = {num}', end='')

    for i in range(num-1, 0, -1):
        num *= i
        print(f'.{i}', end='')
    print(f' = {num}')

    while op not in 'sn':
        op = str(input('\nQuer continuar? [s/n] ')).lower().strip()[0]
    if op == 's':
        continue
    else:
        quit()
