Sagot :
Bonjour,
a)
Avec la fonction Python faite par Helena ça ne fonctionnera pas car la fonction a été défini sans paramètre donc la variable n n'existe pas.
Mais l'objectif de fact(5) étant de renvoyer 5! = 1 x 2 x 3 x 4 x 5 = 120, ça se dit 5 factorielle ou factorielle de 5.
b)
En théorie, fact(10) doit renvoyer 10! = 1 x 2 x 3 x ... x 10 = 3.628.800 (Il y a une touche pour faire les factorielles sur les calculatrices Casio Collège fx-92 et sur beaucoup d'autres: SECONDE + x!)
c)
def fact(n):
res = 1
for facteur in range(2, n+1): #Faire un 1 x 1 ça n'a aucun intérêt et il faut bien aller jusqu'à multiplier par n. Or, en Python, les bornes supérieures sont exclues.
res = res * facteur #On peut aussi écrire res *= facteur.
return res
Bonne journée.