0% ont trouvé ce document utile (0 vote)
36 vues4 pages

Gestion Membres Association en Python

Transféré par

codeurdeuxpoint0
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
36 vues4 pages

Gestion Membres Association en Python

Transféré par

codeurdeuxpoint0
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Solution Complète en Python - Programmation Orientée Objet

Voici la solution complète pour automatiser la gestion des membres d'une association en
utilisant la Programmation Orientée Objet en Python.

class Personne:
def __init__(self, nom, genre, age):
self.__nom = nom
self.__genre = genre
self.__age = age

# Méthodes get et set


def get_nom(self):
return self.__nom

def set_nom(self, nom):


self.__nom = nom

def get_genre(self):
return self.__genre

def set_genre(self, genre):


self.__genre = genre

def get_age(self):
return self.__age

def set_age(self, age):


self.__age = age

# Méthode pour afficher les informations de la personne


def __str__(self):
return f"Nom: {self.__nom}, Genre: {self.__genre}, Âge: {self.__age}"

# Liste des membres de l'association


membres = [
Personne("Alice", "Féminin", 22),
Personne("Bob", "Masculin", 20),
Personne("Charlie", "Masculin", 23),
Personne("Diana", "Féminin", 21),
Personne("Eve", "Féminin", 19),
Personne("Frank", "Masculin", 25),
Personne("Grace", "Féminin", 17),
Personne("Hank", "Masculin", 24),
Personne("Ivy", "Féminin", 18),
Personne("Jack", "Masculin", 22),
Personne("Kathy", "Féminin", 20),
Personne("Leo", "Masculin", 21),
Personne("Mona", "Féminin", 22),
Personne("Nathan", "Masculin", 16),
Personne("Olivia", "Féminin", 23),
Personne("Paul", "Masculin", 26),
Personne("Quinn", "Féminin", 19),
Personne("Ryan", "Masculin", 18),
Personne("Sophia", "Féminin", 24),
Personne("Tom", "Masculin", 22)
]

# Fonction 1 : Afficher la liste de tous les membres


def afficher_tous_les_membres(membres):
print("\nListe des membres de l'association :")
for membre in membres:
print(membre)

# Fonction 2 : Afficher le membre le plus jeune


def membre_plus_jeune(membres):
return min(membres, key=lambda x: x.get_age())

# Fonction 3 : Afficher la liste des hommes et leur nombre


def afficher_hommes(membres):
hommes = [membre for membre in membres if membre.get_genre() == "Masculin"]
print("\nListe des hommes :")
for homme in hommes:
print(homme)
print(f"Nombre d'hommes : {len(hommes)}")

# Fonction 4 : Afficher le membre le plus âgé


def membre_plus_age(membres):
return max(membres, key=lambda x: x.get_age())

# Fonction 5 : Afficher la liste des femmes et leur nombre


def afficher_femmes(membres):
femmes = [membre for membre in membres if membre.get_genre() == "Féminin"]
print("\nListe des femmes :")
for femme in femmes:
print(femme)
print(f"Nombre de femmes : {len(femmes)}")

# Fonction 6 : Compter les membres entre 16 et 23 ans


def membres_age_dans_intervalle(membres, age_min, age_max):
membres_intervalle = [membre for membre in membres if age_min <= membre.get_age()
<= age_max]
print(f"\nNombre de membres entre {age_min} et {age_max} ans :
{len(membres_intervalle)}")

# Fonction 7 : Enregistrer les membres dans un fichier


def enregistrer_membres_dans_fichier(membres, fichier):
with open(fichier, "w", encoding="utf-8") as f:
for membre in membres:
f.write(str(membre) + "\n")
print("\nLa liste des membres a été enregistrée dans le fichier :", fichier)

# Fonction 8 : Rechercher un membre par son nom


def rechercher_membre_par_nom(membres, nom):
for membre in membres:
if membre.get_nom().lower() == nom.lower():
return membre
return "Aucun membre trouvé avec ce nom."

# Programme principal
if __name__ == "__main__":
afficher_tous_les_membres(membres)

print("\nMembre le plus jeune :")


print(membre_plus_jeune(membres))

afficher_hommes(membres)

print("\nMembre le plus âgé :")


print(membre_plus_age(membres))

afficher_femmes(membres)

membres_age_dans_intervalle(membres, 16, 23)

enregistrer_membres_dans_fichier(membres, "membres_association.txt")
# Recherche freestyle
nom_recherche = input("\nEntrez le nom du membre à rechercher : ")
print(rechercher_membre_par_nom(membres, nom_recherche))

Vous aimerez peut-être aussi