====== Calculer une moyenne ====== ===== Exemple de formulation ===== Programmer la fonction moyenne prenant en paramètre un tableau d'entiers tab (type ''list'') qui renvoie la moyenne de ses éléments si le tableau est non vide et affiche ''%%'erreur'%%'' si le tableau est vide. **Exemples :** >>> moyenne([5, 3, 8]) 5.333333333333333 >>> moyenne([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) 5.5 >>> moyenne([]) 'erreur' ===== Variantes ===== * Les sujets ne précisent pas toujours quoi faire en cas de tableau vide. * Le tableau est constitué de paires ''(note, coeff)'' et il faut calculer une moyenne pondérée. ===== Cas plus élaboré ===== On peut imaginer des variantes légèrement plus développés. **Exemple un peu plus élaboré** Soit un fichier ''data.csv'' dont le contenu a la forme suivante : nom;prénom;age;salaire Dupont;Jean;63;1750 Konte;Fatoumata;37;1810 Nguyen;Marc;32;1470 Smith;Alicia;19;1900 Amadi;Ahmed;29;1780 ... import csv def formatage(item): return { "nom":item["nom"], "prénom":item["prénom"], "age":int(item["age"]), "salaire":int(item["salaire"]) } with open("data.csv", 'r') as file: reader = csv.DictReader(file, delimiter=',') tableau = [formatage(row) for row in reader] # on travaille ensuite avec tableau Il faut écrire une fonction ''moyenne_age(tableau, colonne)'' qui renvoie la moyenne pour l'attribut choisi avec ''colonne''. Par exemple, si ''%%colonne == "age"%%'', on calcule la moyenne des ages.