Ecrire un programme en python qui permet de calculer le factoriel d'un nombre positif donné par l'utlisateur selon la formule suivante :
n! = 1 x 2 x ... x n.

1. Une première version en utilisant la boucle *for*
2. Une seconde version en utilisant la boucle *while*
bonjour j'espere que vous allez bien ,vous pourriez m'aider svp ? je suis bloqué.


Sagot :

Réponse :

Bonjour,

Explications :

#factorielle

def fact_for(n):

   rep=1

   for i in range(1,n+1):

       rep=rep*i

       print (i,rep)

   return rep

def fact_while(n):

   rep=1

   i=1

   while not(i>n):

       rep*=i

       print (i,rep)

       i+=1

   return rep

# bonus--------              

def fact_rec(n):

   print (n)

   if n<2:

       return 1

   return n*fact_rec(n-1)

#main

x=int(input(' votre nombre'))

print ("---------")              

print (fact_for(x))

print ("---------")

print (fact_while(x))

print ("---------")

print (fact_rec(x))

print ("---------")