Calcul de factoriel en Python

PythonPythonBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce projet, vous allez apprendre à calculer le factoriel d'un entier non négatif. Le factoriel d'un entier positif est le produit de tous les entiers positifs inférieurs ou égaux à lui, et le factoriel de 0 est 1.

👀 Aperçu

$ python factorial.py
2! = 1 * 2 = 2
8! = 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 = 40320

🎯 Tâches

Dans ce projet, vous allez apprendre :

  • Comment créer un fichier factorial.py dans le répertoire ~/project
  • Comment implémenter la fonction factorial pour calculer le factoriel d'un entier non négatif
  • Comment gérer les entrées négatives en levant une ValueError et en affichant une invite disant "Veuillez entrer un entier non négatif"

🏆 Réalisations

Après avoir terminé ce projet, vous serez capable de :

  • Comprendre le concept de factoriel et la manière de le calculer
  • Écrire une fonction Python pour calculer le factoriel d'un entier non négatif
  • Gérer les erreurs d'entrée et afficher les messages d'erreur appropriés
  • Appliquer vos connaissances de programmation Python pour résoudre un problème du monde réel

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/ErrorandExceptionHandlingGroup(["Error and Exception Handling"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/FunctionsGroup -.-> python/function_definition("Function Definition") python/FunctionsGroup -.-> python/arguments_return("Arguments and Return Values") python/ErrorandExceptionHandlingGroup -.-> python/raising_exceptions("Raising Exceptions") subgraph Lab Skills python/conditional_statements -.-> lab-302699{{"Calcul de factoriel en Python"}} python/function_definition -.-> lab-302699{{"Calcul de factoriel en Python"}} python/arguments_return -.-> lab-302699{{"Calcul de factoriel en Python"}} python/raising_exceptions -.-> lab-302699{{"Calcul de factoriel en Python"}} end

Créer le fichier factorial.py

Dans cette étape, vous allez créer le fichier factorial.py dans le répertoire ~/project. Suivez les étapes ci-dessous pour terminer cette étape :

  1. Créez un nouveau fichier et enregistrez-le sous le nom factorial.py dans le répertoire ~/project.
cd ~/project
touch factorial.py
  1. Dans le fichier factorial.py, ajoutez le code suivant :
def factorial(n):
    """
    Calcule le factoriel d'un entier non négatif.

    Args:
        n (int) : L'entier non négatif pour lequel calculer le factoriel.

    Returns:
        str : Le factoriel de l'entier d'entrée au format "{n}! = {factors_str} = {result}".

    Raises:
        ValueError : Si l'entier d'entrée est négatif.
    """
    ## Ajoutez votre code ici

Voici le point de départ pour la fonction factorial que vous allez implémenter dans l'étape suivante.

Implémenter la fonction factorial

Dans cette étape, vous allez implémenter la fonction factorial dans le fichier factorial.py. Suivez les étapes ci-dessous pour terminer cette étape :

  1. Dans le fichier factorial.py, remplacez le commentaire ## Ajoutez votre code ici par le code suivant :
def factorial(n):
    """
    Calcule le factoriel d'un entier non négatif.

    Args:
        n (int) : L'entier non négatif pour lequel calculer le factoriel.

    Returns:
        str : Le factoriel de l'entier d'entrée au format "{n}! = {factors_str} = {result}".

    Raises:
        ValueError : Si l'entier d'entrée est négatif.
    """
    if n < 0:
        raise ValueError("Veuillez entrer un entier non négatif.")
    elif n == 0:
        return "0! = 1"
    else:
        result = 1
        factors = []
        for i in range(1, n + 1):
            result *= i
            factors.append(str(i))
        factors_str = " * ".join(factors)
        return f"{n}! = {factors_str} = {result}"

## Affichage partiel d'un exemple :
print(factorial(2))
print(factorial(8))

Ce code implémente la fonctionnalité de calcul du factoriel d'un entier non négatif. Il gère le cas d'une entrée négative en levant une ValueError, et le cas de 0 en renvoyant "0! = 1". Pour tous les autres entiers non négatifs, il calcule le factoriel en multipliant tous les nombres de 1 au nombre d'entrée, et renvoie le résultat au format souhaité.

  1. Enregistrez le fichier factorial.py.

Votre fichier factorial.py est maintenant complet, et vous pouvez utiliser la fonction factorial pour calculer le factoriel de tout entier non négatif.

  1. Pour tester votre implémentation, exécutez la commande suivante dans votre terminal :
$ python factorial.py
2! = 1 * 2 = 2
8! = 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 = 40320
✨ Vérifier la solution et pratiquer

Sommaire

Félicitations ! Vous avez terminé ce projet. Vous pouvez pratiquer plus de laboratoires sur LabEx pour améliorer vos compétences.