Exercice Python :
Problème : Gestion des Dots Africaines
Dans le cadre de la gestion des dots traditionnelles en Afrique, vous êtes chargé de développer un programme Python pour aider à suivre les informations relatives aux fiancés, fiancées et dots. Vous allez créer des classes et des fonctions pour gérer ces informations.
- Définissez une classe Famille avec les attributs idFamille, nomFamille et ville. Créez un constructeur pour initialiser ces attributs.
- Définissez une classe Personne avec les attributs nom, profession et idFamille. Créez un constructeur pour initialiser ces attributs.
- Créez une sous-classe Fiance de la classe Personne avec un attribut supplémentaire montantDot. Écrivez un constructeur pour initialiser tous les attributs.
- Créez une sous-classe Fiancee de la classe Personne avec un attribut supplémentaire doublonsDot. Écrivez un constructeur pour initialiser tous les attributs.
- Définissez une classe Dot avec les attributs idDot, dateDot, montant, fiance et fiancee. Créez un constructeur pour initialiser ces attributs.
- Créez des instances de différentes classes pour simuler des données de dots africaines.
- Définissez une fonction calculer_moyenne_dot qui prend une liste de dots et renvoie la moyenne des montants des dots.
- Définissez une fonction dot_le_plus_cher qui prend une liste de dots et renvoie le dot avec le montant le plus élevé.
- Définissez une fonction total_montant_dots qui prend une liste de dots et renvoie le montant total de tous les dots.
- Créez un dictionnaire ville_montant_total où les clés sont les villes et les valeurs sont les montants totaux des dots pour chaque ville.
- Définissez une fonction ajouter_doublon qui prend un objet de type Fiancee et un montant, et ajoute ce montant à l'attribut doublonsDot.
- Utilisez la fonction ajouter_doublon pour ajouter des montants de doublons pour plusieurs fiancées.
- Créez un tuple contenant le nom d'une famille et le nombre total de dots effectués par cette famille.
- Définissez une fonction afficher_informations_personne qui prend un objet de type Personne et affiche ses informations.
- Utilisez la fonction afficher_informations_personne pour afficher les informations de plusieurs personnes.
- Définissez une fonction afficher_informations_dot qui prend un objet de type Dot et affiche ses informations.
- Utilisez la fonction afficher_informations_dot pour afficher les informations de plusieurs dots.
- Créez une liste de dots et triez-la en fonction de la date du dot.
- Appliquez le concept de polymorphisme pour afficher les montants des dots de différentes personnes (fiancés ou fiancées) en utilisant la fonction afficher_informations_personne.
- Utilisez les fonctions min, max et sum pour calculer le montant minimum, maximum et total de tous les dots.