# Réponse finale obtenue du bot:
response = « Voici un exemple de partie 2 de la fonctionnalité Python pour l’élevage d’ovins :
**Partie 1 : Création d’un système de gestion des données**
« `python
# Importation des bibliothèques nécessaires
import csv
import datetime
class Ovin:
def __init__(self, nom, date_naissance, race):
self.nom = nom
self.date_naissance = date_naissance
self.race = race
class EleveurOvin:
def __init__(self):
self.ovins = []
self.fichier_csv = « ovins.csv »
def ajouter_ovin(self, ovin):
self.ovins.append(ovin)
def sauver_data(self):
with open(self.fichier_csv, ‘w’, newline= ») as csvfile:
fieldnames = [‘nom’, ‘date_naissance’, ‘race’]
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for ovin in self.ovins:
writer.writerow({‘nom’: ovin.nom, ‘date_naissance’: ovin.date_naissance, ‘race’: ovin.race})
def charger_data(self):
try:
with open(self.fichier_csv, ‘r’) as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
self.ovins.append(Ovin(row[‘nom’], row[‘date_naissance’], row[‘race’]))
except FileNotFoundError:
pass
« `
**Partie 2 : Fonctionnalités avancées**
« `python
class EleveurOvinAvance(EleveurOvin):
def __init__(self):
super().__init__()
def afficher_ovins_nourris(self, date_debut, date_fin):
nourris = [ovin for ovin in self.ovins if (datetime.datetime.strptime(date_debut, ‘%Y-%m-%d’) <= datetime.datetime.strptime(ovin.date_naissance, '%Y-%m-%d') <= datetime.datetime.strptime(date_fin, '%Y-%m-%d'))]
return nourris
def afficher_ovins_selez(self):
selez = [ovin for ovin in self.ovins if ovin.race == 'Selez']
return selez
```
**Utilisation**
```python
# Création d'un éleveur
eleveur = EleveurOvinAvance()
# Ajout d'ovins
eleveur.ajouter_ovin(Ovin('Lapin', '2020-01-01', 'Rambouillet'))
eleveur.ajouter_ovin(Ovin('Fleur', '2019-06-15', 'Comisana'))
# Sauvegarde des données
eleveur.sauver_data()
# Affichage des ovis nourris entre les dates 2020-01-01 et 2020-12-31
ovins_nourris = eleveur.afficher_ovins_nourris('2020-01-01', '2020-12-31')
for ovin in ovins_nourris:
print(ovin.nom)
# Affichage des ovis de race "Selez"
selez = eleveur.afficher_ovins_selez()
for se in selez:
print(se.nom)
```
J'espère que cela vous aidera !"