Aller au contenu

Moyenne pondérée

Le cadre

Les résultats aux évaluations d'un élève sont regroupés dans une liste non vide composée de couples (note, coefficient). Dans ces couples :

  • note est un nombre de type flottant (float) compris entre 0.0 et 20.0
  • coefficient est un nombre de type entier (int) strictement positif

Exercice

Coder une fonction moyenne qui renvoie la moyenne pondérée de cette liste donnée en paramètre.

Exemple d'utilisation

Le calcul suivant illustre l'exemple :

\[\frac{2×15,\!0 + 1×9,\!0 + 3×12,\!0}{2+1+3} = 12,\!5\]
🐍 Console Python
>>> moyenne([(15.0, 2), (9.0, 1), (12.0, 3)])
12.5
Fonction sont_proches

⚠ La moyenne pondérée est un nombre flottant qui a probablement été calculé en faisant des arrondis, sa valeur n'est donc pas exacte et pourrait dépendre de l'ordre des opérations...

On ne fait pas de test d'égalité entre flottant, mais les tests vérifient si votre réponse et la réponse attendue sont proches.

👍 Ainsi, pour deux flottants x et y, x == y sera remplacé par sont_proches(x, y) qui renvoie un booléen.

Les tests publics ainsi que les tests secrets utilisent cette fonction sont_proches.

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : /
.128077.9888.128013x/.r;nbOylaeêu)*dV6ç3m(P+02è-@],5fq!7B _o=pcwgv41kRIéhtsSàLCj[i:E050t0o0)0n0;0m0*0P0U0m0n0*0*0S010)0;0T010406050*0q0y0y0n0g0l040+0R0m0q170R0i0P020n0y0T0h0P0#0o1h0g0L0q0o0*050e1e1g1i1k1c0T04051P1I1S0e1P1c0t0;0X0 1113150(0;0W0(0m1*0(0)1a050`0j0m0o1#1214011)1+1-1+0)1?1^1;0)0g1Q0)0(1`1%010K0|0o0i1v0o010 1n0*0T0n0i150D1;2n2p2b1|2e1^2h0y2j040c0P0A0g0R0T0R0*0;1q1s0^2l0g0g0o0U2N1I2u0i1Q0e292Z2628271=0t2w151-0i2g2K1;1Y1!101{2-0;2/0i0R2?1;0T2S1Q2X2Z341d2o1s2^2c2}0g1h0m1a0Z2W381b372v3a1|3c3e1a0D3i2p3k2X2,013p0n3f040x3t2Y1c3w3n153z3B0Y3E3v383x3K1a0J3N3G3P3I3y0R3d3A1a0v3U3l391$3o3Z3q040N3N1T321I2?2$0t282+3X0U2~2C0@1Z1Q310o333j3;3~0^463m3+150!1a0^0K3;3H4d010V1a0P4j3W4l0i0K1a0y0R0l2g2/4q4c2_0119040z4B3*4D0i1a2}0)1G0Q2J0i0t0%0g0%1G4I3x4F0r0=3U0P4(4p4k4K1a0U1f0q0m4Q0R2{0)1H1J3j4*4r4D0R1a0S3N4|4C2c0y4u040C0f0C4%4)3)3Q4-4/4;3~0o0K0K4_34534J2c4 04514`3u5p3x0y0;1a5b5v3F4)5x3X4f040K3Z525e3X4F4H5D4b5q3o4M0R4O4Y5O1a0I5M4+3b4-0R5k4i5R5N4l4!5$4}5r4n042{5;545U044N4P4R4T4V4X5-5%1|4F4$5R065F5F5.4,044.0y4:4=4@5n4{6d5r1a0B5u5o6n5|5j5l5`5T155s0s6x5f5}5W0o5c6b5G4s5g6h5i5*5l6l5w6t6z6p6r6m653J5)5+6H6J4D5I2S0)0q0g0i6C3X4L6f5h6j0i4^6.4l5s0e6_6e6g6i6v5m3(0e49453=760e3^1I0)3`7b2)2!0n1@783^1O5S3x2S0y0Q0K0n0!0o0Q0(0x1a1A1C1E1G0P68361V3k2?3x0n0t4w0i2M0;1r0P174F1O7J7L1r7O1r0F170)24040A1i3~6+0~0*2p0~2{1Y0U6G7G1X1Z3x1?0j0o0t0F0*0_7R7h7}7 3A4O6,0n4O2k0t8a0n7!7h1|0Z0=7x1Q2{0T1p0 0(2T7t0t150U8r0U8t2k0;8u010Q0Q7|7~0Q0Z8I2k2A0o158E8G0t8K7R0l0T8N010g7K7P010e8m0i8o0)0P8B8O8F848H8J2s0P8M8-8Q8S0)8U8W8Y1Y4 8$058n8p8,8D8.0j858I0Q7x8?2i8^8/8R0Z2k8{8V158~8!917I3X8Q0F117}0}1;9u0o0m0P5K0g9f988:8K041A3~1L4S0%1I9y0m1Q9P9B3Z9E998;1a0A2K2L7i9O7h9z9R9(9A9C9V9G8l9Z130;7i0P0z0j0;0*0r9%9v2Z7k412@4l9s3~6@2g1:7H7`9r9g0F1@0R8y1a7_a34D1~1,1.a96S2d2f8M1a2E0+0U0g188*0A0l291r3;445S3547757m5H1a9C6}2c5P5Y6K6E5X645=665!aP6u6O5,366X4E1a9}5R6$5?1a5_a-aq6:5~0*4=9M626Q2Yaq676#aq5s0fb473aK77a0427l920y0W0P87150a2k9r0V1B0R0/5A0P0*0g0U1(220T0*0=0e740t0i0f0/0*0^1-0X0g0f2/0)0e1+0e0/0^8y7~2!bl4wbo0G0Z0J0f0Z5a0e1{0_0*1J0X0W0e0Z0K0Y0Y0t0f0*b-9j2M1^150=0B8j8#040P0.001G8*2L1w1^0P825+0;0U0n7?0P0M1T3k79baa27{adafahaaak2cam201/2taX152y2g2iau0Paway0TaAaC0(aE5-aG3)aI3u05b7a)5IaOa=a)6:0%0m0%2B6@a!6z5@a;6sc!5V4Oa_604U4Wa}aL5/1a7E3j6a5dc:aU7@a(cBa*045#cZd66:7152a.1|5s6V6Rd2c$c(a8b1a)b3b5691Ib71V3?cn0Xcma19qa4cr0mag5Iaj3xcxaocA5{cCascF2DcHaxaz2FcMcO36cQ7F36cVd6cX5LdadM3y1adlc)0)c+010Rc-6-d)6yd+d3c?1r61c_aS4Db0696cd25~deb250d:c#c%d.e0aQ1a0:ee1|5z5Bei154F0Hdodb6Z6wd^3xdhead,ecdnaWd*4FeheBd_ek043heF4Z1aepe3d1d6dq0fb63 2ZcQdxdzcoeX1ce!3@co0^0`0|0~3X0V1i7N0i0W2k2I2g6z8V6:3G1f1C1k0$0)4U8a7P1s0n0X2T8+4Scf1_1y8V0q0P0t004@4U0pd/1Je}1McudI1.cyapa)cDatdQcIdTaBaDd@dX3?dZaJeUaq5I4hem4m4ofM4t4v4x4zd447a)aReK6/c;5 d}c^63d5eCa+c~3ud04(a?6L6i2J6kd:eweu3X565B5aeqd*dc6=71c`df6T5td:eH5C34f.g501d%0gex5^f^d?ea0j1a8Ye;fUcTfW1a5Qf)d_0igm042zfMfXgv6Da^a`d~f(fVd64!4#6#e4erd3gBaZf`aTddgT4~e9gW5(d{gGf%c`a egfPa:gR04eNgb6If/d26 4;f?6@g4e8046qghgVc/eQ1a6BgZ5|e6eO6If:6;6M0Qh06Wh2g}di2Ygddca$f d_6(0_6+fDhfg0f;g^4?g`f^1a6|h56Yhb70hmds74fIdv7jeZe)0{0}fq3X7K7M7Y1s2{5Kai1R7VhT2N7!b|401B040q8(ch0!1Ih*fg00h,7R0q0T1^cl7l0-0n2l0i0*260q2Uf4h|cp3XdJ21dLd_fwdPavdScKdUfCaFfF475-d#hugQfYc|d8g hGh1d*f_ixgwf!d|a{d ise1g*iGg!0;g-g/c dthJeWa11Pc70P0%1E1Z3Aa81_0,i7dBalfsdKc{4Die2BcGfziifBcNhscTdYind!fIe56Fe7dpgYiAgE6FiDgHg(gs04eEgDfZgiiJaYg.jbgJd*g9iM3(g?iwhtd_izjqj4c=g$a|g-jigrgPiLjfeneMjza~a)eHeJjcitiNf-iP4ab8e%dy7l0k1s310%0K0E2S8Y0P110g0W1Ba8j%h 445zj!1_f70g2L1reS7^jS7H0_hOe,4l8dgp0ge?e`e_2ghY1Ke~040u0oj@f49T0ii51r2/0mh{fn1L1j3k1S0;bdbf0m0)150bbja4bVbnbpbrbt1}bvbxbz0UbBbDbF9z1ZbJbLbN0(bPbR8tbUbmbXbZb#b%b)4^b,b.0D0v0n59b_e=7Rh(b~e.6,2{0W0=c28+9A0lbffg0o0q0d0P2obs0R7,l2j-j%9{4Ocji%ab4liaczi,2ci.2CigcJcLikcPimcTioi}d$4g5kfM5@4pjD3y574w4y0i4AlFgCjjiBg#c@jxlMf+hn6Dg@6?6^hCd;j2jt6/gy1Kg-gulOjugqhjg|h4j3jdhedjlz5Jd(l?itl,jAiqh7jLiHiul!hl6!lT04a,l}4~gkm6iCjwiFm3efmalVl@g2a$g{j1g7m6l)1fl+g+6fjpl_d*gfd:lNm0lPm2l-5Zm5mcg!l^jHgKa+gja:i^l:i~jvlRmimIitmbc gOmBgnhq6,g 6=g_lZmLdghAm,hcmNcmduiRco1P0$k bf0I0 kec=n10^l4l67*l9j@lb11ldi20on11h9{lc5Kki2N4paKl*hI4acci20P9`2gl61o0~8Y0T8B1_1Eh?2/i0i20gi4nnfhh,1_0jl9101_nxi?j_i71P0.0_lf7r0w7Q2P7r0;2Snt8*2J9=9@nUdV0inh0{0~4w2{0~cecgcif6f8fh0n1p2S0~11e;0nj*0*j`1W3@j~e+dzoghPdHhR7W7NnnnQ0i0q0*hY0Th!7Xh$7#7%0O1rosnX040?0dh`0;7B0glc8Y9{n(1_ndjX81ki1_2Pndnlkj1scUeU0*1r0)4Q2H8w63aKodeYdy.