Exercices Fonctions & Modules Agreger des données JSON
🎉

Bravo!

Avancé 🧠 Fondamentaux 30 XP 0 personnes ont réussi

Agreger des données JSON

Agréger des données pour en tirer des statistiques, c'est ce que fait un tableau de bord d'e-commerce : chiffre d'affaires total, produit star, nombre de transactions. C'est aussi le genre de tâche qu'on te demandera en entretien pour tester ta capacité à combiner boucles, dictionnaires et fonctions built-in.

Écris une fonction stats_ventes(json_str) qui reçoit une chaîne JSON contenant une liste de ventes (champs produit, quantite, prix). Retourne un dictionnaire avec :
total_revenus : somme de quantite * prix
produit_top : le produit avec le plus grand chiffre d'affaires
nb_ventes : nombre total de ventes

Si la liste est vide, retourne total_revenus=0, produit_top=None, nb_ventes=0.

Exemple :
stats_ventes('[{"produit": "Livre", "quantite": 3, "prix": 10.0}, {"produit": "Stylo", "quantite": 10, "prix": 2.0}]')
renvoie {"total_revenus": 50.0, "produit_top": "Livre", "nb_ventes": 2}

Tests (2/4)

Trois ventes
data = '[{"produit": "Livre", "quantite": 3, "prix": 10.0}, {"produit": "Stylo", "quantite": 10, "prix": 2.0}, {"produit": "Cahier", "quantite": 5, "prix": 5.0}]'
result = stats_ventes(data)
assert result['total_revenus'] == 75.0
assert result['produit_top'] == 'Livre'
assert result['nb_ventes'] == 3
Une seule vente
data = '[{"produit": "PC", "quantite": 1, "prix": 999.0}]'
result = stats_ventes(data)
assert result['produit_top'] == 'PC'
assert result['nb_ventes'] == 1

+ 0 tests cachés

Indices (3 disponibles)

solution.py