Bonjour m'aider rapidement sur cette exercice de Python. Helena a codé une fonction fact dont le para- mètre est un nombre entier naturel n strictement positif
Question
Helena a codé une fonction fact dont le para- mètre est un nombre entier naturel n strictement positif et qui renvoie le produit des nombres entiers de 1 à n inclus.
a. Vérifier que fact (5) renvoie 120.
b. Que renvoie fact (10) ?
c. Marion a codé cette fonction en Python, mais elle a commis des erreurs. Les corriger.
Cliquez sur la photo pour voir le programme..
1 Réponse
-
1. Réponse Thomas756
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.