# Réponse finale obtenue du bot:
response = « Voici une partie 2 du code Python pour gérer les données d’un film :
« `python
# Partie 1 : Importations et définitions
import datetime
class Realisateur:
def __init__(self, nom, prenom):
self.nom = nom
self.prenom = prenom
def __str__(self):
return f »{self.prenom} {self.nom} »
class Film:
def __init__(self, titre, annee_sortie, realisateur, genre):
self.titre = titre
self.annee_sortie = annee_sortie
self.realisateur = realisateur
self.genre = genre
def __str__(self):
return f »{self.titre} ({self.annee_sortie}) – {self.realisateur} »
class Bibliotheque:
def __init__(self):
self.films = []
def ajouter_film(self, film):
self.films.append(film)
def afficher_films(self):
for film in self.films:
print(film)
« `
Et voici une partie 2 qui ajoute les méthodes suivantes :
« `python
class Bibliotheque:
# …
def rechercher_film_par_titre(self, titre):
for film in self.films:
if film.titre.lower() == titre.lower():
return film
return None
def rechercher_film_par_realisateur(self, realisateur):
for film in self.films:
if film.realisateur.nom.lower() == realisateur.nom.lower() and film.realisateur.prenom.lower() == realisateur.prenom.lower():
return film
return None
def trier_films_par_annee_sortie(self):
self.films.sort(key=lambda x: x.annee_sortie)
def afficher_resume_film(self, film):
print(f »Titre : {film.titre} »)
print(f »Année de sortie : {film.annee_sortie} »)
print(f »Genre : {film.genre} »)
print(f »Réalisateur : {film.realisateur} »)
# Exemple d’utilisation
bibliotheque = Bibliotheque()
realisateur1 = Realisateur(« Dupont », « Jean »)
realisateur2 = Realisateur(« Martin », « Sylvie »)
film1 = Film(« La Nuit aux truffes », 1980, realisateur1, « Comédie »)
film2 = Film(« Le Jour où la Terre s’arrêta », 2008, realisateur2, « Science-fiction »)
bibliotheque.ajouter_film(film1)
bibliotheque.ajouter_film(film2)
print(« Films dans la bibliothèque : »)
bibliotheque.afficher_films()
film_recherche = bibliotheque.rechercher_film_par_titre(« La Nuit aux truffes »)
if film_recherche:
print(« Film trouvé : »)
bibliotheque.afficher_resume_film(film_recherche)
else:
print(« Film non trouvé »)
bibliotheque.trier_films_par_annee_sortie()
print(« \nFilms triés par année de sortie : »)
for film in bibliotheque.films:
print(film)
film_recherche_realisateur = bibliotheque.rechercher_film_par_realisateur(realisateur2)
if film_recherche_realisateur:
print(« Film trouvé : »)
bibliotheque.afficher_resume_film(film_recherche_realisateur)
else:
print(« Film non trouvé »)
« `
Ce code ajoute les méthodes suivantes à la classe `Bibliotheque` :
* `rechercher_film_par_titre(titre) :` recherche un film dans la bibliothèque en fonction de son titre.
* `rechercher_film_par_realisateur(realisateur) :` recherche un film dans la bibliothèque en fonction du réalisateur.
* `trier_films_par_annee_sortie() :` trie les films de la bibliothèque par année de sortie.
* `afficher_resume_film(film) :` affiche un résumé d’un film.
J’espère que cela vous aidera ! »