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)
Créer une classe
Rectangle
:- Définir une classe
Rectangle
avec les attributslargeur
ethauteur
. - 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.
- Définir une classe
Gestion des comptes bancaires :
- Créer une classe
CompteBancaire
avec les attributstitulaire
(nom du titulaire), date de naissance etsolde
. - 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.
- Créer une classe
Piles (Stacks)
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).
- Créer une classe
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.
- Utiliser une pile pour empiler les parenthèses ouvrantes
Objectifs : Appliquer les piles pour résoudre un problème classique de validation.
- Utiliser une pile pour vérifier si une chaîne de caractères contient des parenthèses équilibrées (ex :
Récursivité
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.
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).