Bien sûr, voici un exemple de programme Python pour une application de suivi des événements importants dans un domaine spécifique. Pour cet exemple, nous allons créer une application en ligne de commande (CLI) qui permet de suivre et de gérer les événements importants.
« `python
import json
from datetime import datetime
class Event:
def __init__(self, title, description, date):
self.title = title
self.description = description
self.date = datetime.strptime(date, ‘%Y-%m-%d’)
def __repr__(self):
return f »{self.title} – {self.date.strftime(‘%Y-%m-%d’)} »
class EventTracker:
def __init__(self, file_name=’events.json’):
self.file_name = file_name
self.load_events()
def load_events(self):
try:
with open(self.file_name, ‘r’) as file:
self.events = json.load(file)
except FileNotFoundError:
self.events = []
def save_events(self):
with open(self.file_name, ‘w’) as file:
json.dump(self.events, file, indent=4)
def add_event(self, title, description, date):
event = Event(title, description, date)
self.events.append(event)
self.save_events()
print(f »Event ‘{title}’ added successfully. »)
def list_events(self):
if not self.events:
print(« No events found. »)
else:
for event in self.events:
print(event)
def delete_event(self, event_title):
self.events = [event for event in self.events if event.title != event_title]
self.save_events()
print(f »Event ‘{event_title}’ deleted successfully. »)
def main():
tracker = EventTracker()
while True:
print(« \nEvent Tracker »)
print(« 1. Add Event »)
print(« 2. List Events »)
print(« 3. Delete Event »)
print(« 4. Exit »)
choice = input(« Enter your choice: « )
if choice == ‘1’:
title = input(« Enter event title: « )
description = input(« Enter event description: « )
date = input(« Enter event date (YYYY-MM-DD): « )
tracker.add_event(title, description, date)
elif choice == ‘2’:
tracker.list_events()
elif choice == ‘3’:
event_title = input(« Enter event title to delete: « )
tracker.delete_event(event_title)
elif choice == ‘4’:
print(« Exiting Event Tracker. »)
break
else:
print(« Invalid choice. Please try again. »)
if __name__ == ‘__main__’:
main()
« `
### Explication du Code
1. Classe `Event`: Représente un événement avec un titre, une description et une date.
2. Classe `EventTracker`: Gère la liste des événements, les charge depuis un fichier JSON, les sauvegarde dans le fichier JSON, et fournit des méthodes pour ajouter, lister et supprimer des événements.
3. Fonction `main`: Fournit une interface en ligne de commande pour interagir avec l’application.
### Utilisation
1. Ajouter un événement: Sélectionnez l’option 1 et suivez les instructions pour entrer le titre, la description et la date de l’événement.
2. Lister les événements: Sélectionnez l’option 2 pour afficher la liste des événements enregistrés.
3. Supprimer un événement: Sélectionnez l’option 3 et entrez le titre de l’événement que vous souhaitez supprimer.
4. Quitter l’application: Sélectionnez l’option 4 pour sortir de l’application.
Ce programme est conçu pour être simple et extensible. Vous pouvez ajouter des fonctionnalités supplémentaires comme la recherche d’événements, la mise à jour des événements, etc., selon vos besoins.