Le triangle de pascal.
Bonjour à tous, j'ai un code à faire sur le triangle de pascal et les consignes sont les suivantes :
- Vous devez écrire une fonction factorielle(). Elle prend en paramètre un entier n quelconque et retourne la factorielle de cet entier (n!).
- Écrire une fonction parmi() qui prend en paramètre des nombres entiers i et j et retourner "j parmi i".
On sait que : "j parmi i" = i! / (j!×(i−j)!)
- Écrire une fonction chaine_triangle_Pascal() qui prend n comme paramètre et qui renvoie une chaîne de caractère chaine.
Je ne comprend pas pourquoi dans mon code : on m'explique que la syntaxe est invalide dans la ligne 2 et 3. Je n'ai pour l'instant fait que le premier tiret. Pourriez vous m'aider ? Merci beaucoup !!
- Vous devez écrire une fonction factorielle(). Elle prend en paramètre un entier n quelconque et retourne la factorielle de cet entier (n!).
- Écrire une fonction parmi() qui prend en paramètre des nombres entiers i et j et retourner "j parmi i".
On sait que : "j parmi i" = i! / (j!×(i−j)!)
- Écrire une fonction chaine_triangle_Pascal() qui prend n comme paramètre et qui renvoie une chaîne de caractère chaine.
Je ne comprend pas pourquoi dans mon code : on m'explique que la syntaxe est invalide dans la ligne 2 et 3. Je n'ai pour l'instant fait que le premier tiret. Pourriez vous m'aider ? Merci beaucoup !!
def factorielle(n):
n=input("Entrez un nombre entier")
return n!
Configuration: Windows / Chrome 79.0.3945.79
5 réponses
-
Bonsoir,
Le signe ! est intégré au langage python ?-
-
@ilyan174Mauvaise réponse.
Une petite recherche te suffirait pour répondre à ta question ! http://python.jpvweb.com/python/mesrecettespython/doku.php?id=factorielle
Bien évidemment que ce n'est pas la meilleure façon d'apprendre un langage, d'abord on coince et on réfléchit, si on sèche complètement on fait une recherche.
Bonne soirée
-
-
Contributeurbonjour, où as-tu lu que tu pouvais ainsi utiliser le point exclamation en python?
par ailleurs, pourquoi la ligne 2?
est-ce ton premier exercice en python? -
Bonsoir,
- Vous devez écrire une fonction factorielle(). Elle prend en paramètre un entier n quelconque et retourne la factorielle de cet entier (n!).
A ton niveau, tu devrais tout de même savoir comment se calcule la factorielle d'un nombre.
Et au cas où --> https://fr.wikipedia.org/wiki/Factorielle -
Bonjour
Tu devrais commencer par séparer ton programme principal (qui va utiliser ta fonction) et l'implémentation de ta fonction
def facto(n): .... à toi d'écrire le code qui calcule fff return fff # programme principal n = int(input("donner un entier n : ")) f = facto(n) print("factorielle ", n, " = ", f)
Cdlmnt -
Désolé, je tombe sur le sujet un peu tard, mais comme personne n'a vraiment donné de solution... Je me permet de t'apporter une aide, qui pourra peut-être aider d'autres personnes après... Qui sait ?
Tu as deux grandes méthodes de le faire :
- Une fonction récursive, c'est à dire une fonction qui va s'appeler elle même, dans ce cas il faut revenir à la définition de la factorielle et on retrouve vite la solution :
0! = 1
n! = n*(n-1)!
-Une boucle qui marchera sensiblement de la même façon...
Bonne chance et désolé de répondre si tard.
-
-
@trifouJ'ai précisé les deux, car c'est pas rare de voir des profs demander de faire des fonctions récursives pour aborder le principe... Mais je suis bien d'accord avec toi, et j'aurais dû préciser d'utiliser la boucle si il n'y a aucune contre-indication !
Merci.
-