 =============================================================
       Exemplos de uso do comando "while"  (enquanto)
  =============================================================

 # arquivo: fatorial.py
 # --------------------
 # Este programa recebe um inteiro nao-negativo n e calcula o fatorial de n.
 # Definicao de fatorial de n, denotado por n! 
 # 0! = 1
 # n! = n * (n-1)! = n * (n-1) * (n-2) * ... *2 * 1,   para n > 0
 # ----------------

def main():
    n = int(input("Digite um numero inteiro nao-negativo: "))
    fat = 1
    k = 2        
    while k <= n:
        fat = fat * k
        k = k + 1
    print("O fatorial de ", n, "e' igual a", fat)      
# -----------------
main()      

===================================================

 # arquivo: fatorial_version2.py
 # --------------------
 # Este programa recebe um inteiro nao-negativo n e calcula o fatorial de n.
 # Definicao de fatorial de n, denotado por n! 
 # 0! = 1
 # n! = n * (n-1)! = n * (n-1) * (n-2) * ... *2 * 1,   para n > 0
 # ----------------

def main():

    n = int(input("Digite um numero inteiro nao-negativo: "))

    print("Calculo do fatorial de ", n)         # Isso foi feito antes de alterar n
  
    fat = 1
    while n > 0:    
        fat = fat * n
        n = n - 1                                # perdemos o valor de n (dado originalmente)
    print("Resposta = ", fat)      
# --------------
main()

===========================================================
