Mise en situation : on vous transmet un export de lignes de commande et l'on attend un mini-rapport exploitable, pas seulement un total.
Écrivez sales_report(items), qui reçoit une liste de dictionnaires {"produit":..., "quantite":..., "prix":...} et retourne :
{
"total": <somme des quantite × prix>,
"nb_lignes": <nombre de lignes>,
"panier_moyen": <total / nb_lignes, arrondi à 2 décimales>,
"top_produit": <produit au chiffre d'affaires cumulé le plus élevé>,
}
Contraintes de qualité — c'est ce qui distingue un script d'un livrable :
- une liste vide ne doit pas planter : renvoyez
totaletnb_lignesà 0,panier_moyenà 0 ettop_produitàNone; - un même produit peut apparaître sur plusieurs lignes : cumulez avant de comparer ;
- n'écrivez le calcul du chiffre d'affaires qu'à un seul endroit.