Informatique

Question

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 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..​
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

1 Réponse

  • 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.