Bien sûr, voici un exemple d’application Python pour suivre les événements importants liés à la maison connectée, avec un ton amusant :
« `python
import datetime
import random
class SmartHomeEventTracker:
def __init__(self):
self.events = []
def add_event(self, event_type, description):
current_time = datetime.datetime.now().strftime(« %Y-%m-%d %H:%M:%S »)
event = f »{current_time} – {event_type}: {description} »
self.events.append(event)
print(f »Événement ajouté: {event} »)
def get_events(self):
return self.events
def random_event(self):
if not self.events:
print(« Aucun événement n’a encore été ajouté. Peut-être que votre maison est encore en mode veille? »)
return
event = random.choice(self.events)
print(f »Événement aléatoire: {event} »)
return event
def daily_report(self):
today = datetime.datetime.now().strftime(« %Y-%m-%d »)
daily_events = [event for event in self.events if event.startswith(today)]
if not daily_events:
print(« Aucun événement aujourd’hui. Peut-être que votre maison est trop occupée à se reposer? »)
return
print(f »Rapport quotidien pour {today}: »)
for event in daily_events:
print(event)
# Exemple d’utilisation
tracker = SmartHomeEventTracker()
# Ajouter des événements
tracker.add_event(« Lumière allumée », « Le salon a été illuminé par une lumière douce et apaisante. »)
tracker.add_event(« Alarme déclenchée », « La cuisine a décidé de se transformer en discothèque à 3h du matin. »)
tracker.add_event(« Thermostat ajusté », « Le thermostat a décidé de faire un sauna improvisé dans le salon. »)
tracker.add_event(« Porte ouverte », « La porte d’entrée a décidé d’accueillir un invité surprise à minuit. »)
# Obtenir un événement aléatoire
tracker.random_event()
# Obtenir le rapport quotidien
tracker.daily_report()
« `
### Explication du code
1. Classe `SmartHomeEventTracker`:
– `__init__`: Initialise la liste des événements.
– `add_event`: Ajoute un nouvel événement avec le type, la description et l’heure actuelle.
– `get_events`: Retourne la liste des événements.
– `random_event`: Sélectionne et affiche un événement aléatoire.
– `daily_report`: Génère un rapport des événements pour la journée en cours.
2. Exemple d’utilisation:
– Ajoute quelques événements pour illustrer le fonctionnement.
– Affiche un événement aléatoire.
– Génère et affiche le rapport quotidien.
Ce code est conçu pour être amusant et léger, tout en illustrant comment vous pourriez suivre les événements dans une maison connectée.