Révisions

Exercices pour réviser Python

Voici quelques exercices en Python pour réviser la POO, les Piles, et la Récursivité. Chaque thème comporte deux exercices pour couvrir une variété de concepts.

Programmation Orientée Objet (POO)

  1. Créer une classe Rectangle :

    • Définir une classe Rectangle avec les attributs largeur et hauteur.
    • Implémenter des méthodes pour :
      • Calculer l'aire du rectangle.
      • Calculer le périmètre.
      • Afficher les dimensions du rectangle.
    • Tester la classe en instanciant un objet et en affichant ses propriétés.

    Objectifs : Manipulation des attributs et méthodes de base en POO.

  2. Gestion des comptes bancaires :

    • Créer une classe CompteBancaire avec les attributs titulaire (nom du titulaire), date de naissance et solde.
    • Implémenter les méthodes suivantes :
      • deposer(montant) : Ajouter de l'argent au solde.
      • retirer(montant) : Retirer de l'argent du solde (en vérifiant si le solde est suffisant).
      • afficher_solde() : Afficher le solde du compte.
    • Créer plusieurs comptes et effectuer des transactions pour tester la classe.

    Objectifs : Compréhension des méthodes d'instance et gestion des erreurs avec les attributs.


Piles (Stacks)

  1. Implémentation d'une pile (stack) :

    • Créer une classe Pile qui implémente une pile avec les méthodes :
      • empiler(element) : Ajouter un élément à la pile.
      • depiler() : Retirer l'élément du dessus de la pile.
      • sommet() : Retourner l'élément du dessus sans le retirer.
      • est_vide() : Vérifier si la pile est vide.
    • Tester la pile en empilant et dépilant des éléments.

    Objectifs : Comprendre les opérations de base sur une pile (empiler, dépiler, sommet).

  2. Vérification de parenthèses équilibrées :

    • Utiliser une pile pour vérifier si une chaîne de caractères contient des parenthèses équilibrées (ex : (()()) est équilibré, mais (() ne l'est pas).
    • Implémenter la fonction verifier_parentheses(chaine) :
      • Utiliser une pile pour empiler les parenthèses ouvrantes ( et les dépiler lors des parenthèses fermantes ).
      • Si la pile est vide à la fin et toutes les parenthèses ont été appariées, la chaîne est équilibrée.

    Objectifs : Appliquer les piles pour résoudre un problème classique de validation.


Récursivité

  1. Calcul de la factorielle :

    • Implémenter la fonction récursive factorielle(n) qui calcule la factorielle d'un nombre n :

      n! = n * (n-1) * (n-2) * ... * 1

      • Tester la fonction avec plusieurs valeurs de n.

    Objectifs : Apprendre à définir une fonction récursive et à gérer la condition d'arrêt.

  2. Calcul de la suite de Fibonacci :

    • Implémenter la fonction récursive fibonacci(n) qui retourne le n-ième nombre de la suite de Fibonacci :

      F(n) = F(n-1) + F(n-2), avec F(0) = 0, F(1) = 1

  • Tester la fonction avec plusieurs valeurs de n pour observer la croissance de la suite.

    Objectifs : Comprendre les appels récursifs avec deux sous-problèmes (comme dans la suite de Fibonacci).