Notes d'une classe

Un professeur de NSI décide de gérer les résultats de sa classe sous la forme d’un dictionnaire :

  • les clefs sont les noms des Ă©lèves ;
  • les valeurs sont des dictionnaires dont les clefs sont les types d’épreuves sous forme de chaĂ®ne de caractères et les valeurs sont les notes obtenues associĂ©es Ă  leurs coefficients dans une liste. Une telle liste ne peut pas ĂŞtre vide, et est obligatoirement de taille 2.

On garantit que chaque élève de la classe a au moins une note.

Par exemple, avec :

Python
resultats = {'Dupont': {
                        'DS1': [15.5, 4],
                        'DM1': [14.5, 1],
                        'DS2': [13, 4],
                        'PROJET1': [16, 3],
                        'DS3': [14, 4]
                    },
            'Durand': {
                        'DS1': [6 , 4],
                        'DM1': [14.5, 1],
                        'DS2': [8, 4],
                        'PROJET1': [9, 3],
                        'IE1': [7, 2],
                        'DS3': [9, 4],
                        'DS4':[15, 4]
                    }
            }

L’élève dont le nom est Durand a ainsi obtenu au DS2 la note de 8 avec un coefficient 4.

Le professeur crée une fonction moyenne qui prend en paramètre le nom d’un de ses élèves et renvoie sa moyenne arrondie au dixième.

Compléter le code du professeur ci-dessous

###(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 : 5/5

.128073.128013A_4:2-.Sw3/]+7bçpPiNqo1tl(9 ;=vm6u8Rs*Cfrge[hEcé05a,nkydx)050)0S0z0!0u0A0M0D0W0A0!0M0M0F010z0u0s010406050M0J0H0H0!0Q0(040j0x0A0J0 0x0$0D020!0H0s0E0D0L0S190Q0w0J0S0M050m16181a1c140s04051H1A1K0m1H140)0u0G0@0_0{0}0_0$0R0J0!0R0S0h0s0(0z0U1j0D0U0u0R0U0A1:0U0z12050/0q0A0S1T0`0|011/1;1?1;0z1|1~1`0z0Q1I1+0@1f0M0s0!0$0}0g01201V010P0;0S0$1n0S1`2i2k2p222s1~2v0H2x040b0D0t0Q0x0s0x0M0u1i1k0-2g0Q0Q0S0W2S1A2z0$1I0m1+2(2c2e2d1{0)2B1W0u0$2u2P1`1Q1S0^212=2@0$0x2{1`0s2X1I2$2(38152j1k2}2q310Q190A1`0!1.2X0P0}030d0d0W320S1?300x0h0y3z120D0y1A0!393c133b2A3e223g3i3k3m0S3o013q3s3u3w2^3z0h2n040D0g3F3H2k3J2$2;013O0!3j1I3l0U3n3p3r3t0-3Y313!0l3C0l3*2#3I143.3M0}3;3?053^3`3U3|3X2?3Z3A0e3C0e451B473K3d1U3N0x3h3=3Q3_3S3{3W3~4k403A0Z3C0Z4q38483c3/4c4A4g3V3}3v4G3y3A0I3C0I4M4s494v4b4x3P3@3R3T4U4j3x3!0p3C0p4%3,4O3L4*3:4,4z4.4B4:4i4F4?3A0K3C0K4{2%4}4u2~504y4d4f4C4h4E4W580h0C3C0C5d3-4P4a5i4-4e4/4D4V3 4Y3z0Y120y0Y5v5f4Q515k5C5n5E4X3!0y0y5J3E0m3G464|4t5O5j4S5m4;574l3z3$0y3)5!3+2%1L361A2{2+0)2e2:5y4V2`1R1I350S373I5$5_4V692A0u0)0}3r2$5V3Q6g6i5o5F6l0D2F0S6o5T5q5X2(5#4)5h0%120-0P6b6e5g2q0k3C6H5(5y0$0P120H0x0(2u2@6N6B2q11040B6Y5x4 0$12310H6(4~5h6#0#6H0D6O6*6E0u3t0d2X160A0z6/6J226#0+0f6H144r3,5(6n016j3c3!3$5B7e565p5/2n6s2w6v4=7o1`5@0D7x6^6Z226D040u6G7b2%7z6)5h6+046-6@6_5h0x6L7D0$7O7A4b6{6}6 0J71733/6#787G3J7+7d6h7f0d6k3A424.7l6p5U7?2o6t7s5.4H0h7@3*7y857I6:3f6,0x0z1y7V7J2q0x120F8e883N7Y0x6~1y7#727-7W016#0T7%6P8a6.8t8f75120n797%7_7=0h4n7^7/7m6q4m7}7r7:6w5/8M84867x7P89040z8b3=0d2O2?0z1z7+87740}8h048j8:8#220H0u125L7+7a3a3.8J7h4I6m8O7`5q4J7q2G7 7n814J6z3%8Z8;4Q128(0/0A3W3S2s0W0u2u8.8k8=018@8_389m5y8}8 8H8C6f998K4!8N9f8Q0h4!9d6u8U7t819O8Y8Z8{0}7C0P4x9z9n040G3=0S0J0Q8/9E9F4 7R122?9+8z7M8b8d9K9A8@0i8y6`9-3=1x9?6a8u6#0B779J934P952k4@989Q7{0h4^9Uao5q4^9j9l869$3:8a8ca66;126?8`8u7L3t9t6|9w0$8s9Eaz9C9}a79.1~9;ab5%a20Dak0$3!5a9P9W805G5aasa+9ga-7v3Gax85az7L9p8*8,aOaY7HaR8iaT7K9o8)9ra~9yaH8D8?120ob48$31aCbb8lbd040Nbg8m04aK0P9uaNaP4sa!a$3!5sa*8Pap5sa/bD5qbB9!a^a`b69q9sbtaM9xb03%b28^bp7X8%b7bPbubSbX9Bbeb(aJ0xaL9v9xahacaj9M965Hana:9R5K8S9eb{apb}aw9laz7C2X0z9;7Ubk9A0$0q122M0J0$0)aD6!126%a!9~a|b80x8-bT9^7Q120mb+bN8*bsb$a ck8E04aGaQ8u9H045Zaibl8v120+b;7c94b@al3A5Wb`bH5/cZbG9ac$6ybKc5123v0M0ScF0}7)cT5_cV6o8K5=c!c)81c}c(8Vd07j7wc48uc60.c9b(8@0hc=01cLcNbx3a0m6d5`685|651A0z5 dr2.2)0!1}do0m5}1G6I3/2X0H0d0P0!0%0S0d0U7@1s1u1w1y0D7*dk1O1J040O0.0D0S0*0S0Q9v0W1 1h0;0uc:0@1 dR0D0A001-0!0s0s3v1~d#1k2k0R0_d/0D2Ud^01ch2j0W0%2?0R2od?d^1-2O9;0Q0:0z0D2c0!0)0J0u2Xe00D0Pem0$0r0:0?2j0Q0D010)0X0q3=0_1$011L3J1H0a0D0v0x0J0?d^0!0G1j0?0MeV0G9x0Dd-1?0M0X0DeZ2Ye6dSc80s1~0Ma51N3J2{3/er6T0$2R0u1-d$1ne_2H1Gf00)f2f41j0h0 0z2a040Vd%1o1~eP1P1R3/1X1Z1#1%1)1+1-241=1@1_dD5y2D2u2w120t1*1,ca3a676I5^1Idmc`7:6k0g3BbCc 3yfY5Xd29Xf$3B5R5-a;3#fZ45aI120!df6=cz040qf_aFf{0Wdcb3cb7(cmdfdhf~cHb(cL5?cO9Af`g49G8~0444co4 766@cv2q0W6y030D0ce)0We+1ke^fp918IcWa%fY7j3l7_d3f+7p7~c04?gH2o545Df*f:d56Abc3:ce04358-g9cnge9,f^gmaE04cSgDbygFf:83gJ99gLg^b~9Vc#40fY42f-h0f+835@a`g#g%aOg)df7Lf}g.clg:c^dDbzfY8Xg`at3Zhng~hqh18LgS4Th5f:8Xh8aIha0Qg(hhcGg*b=cPaJg9g;4N6Ndl3u2(fQdp0G7,dBdXeSdZ281 2O0{0u0qd.0ze/d$d/8ce:eW2Qe:gxe?eXh:a1dWe 5yf11jff1kf7fofa1Jfcfe2Sfh2Rfkfm1tf9fq0,fs5yfu1!1$1(fMfA1@261^2ygZfH6tfKiqfO6ahUdk3afUb?c{7h0lf;hpgP3ZiKf(gOhziPhx5,iSf;hCgZ7Lg-g+5yggcJiZ12hgi$gnf gha7g1i:cwbWi?hi8xhH0}g8i|cQgai_8|gjgdhKgfi/i)cPcLgli-g/8G8:gq22gs12gugwe=ch1 e-bjhPg?iIaliKgIa#g{gVjwhtiN40jBh4f#823#a?fF6*hEhGjdhihJcUi*04i#j6g5hjg=g+bziKg_jyhu3yj$jCiWh3gT5SjA82jKh912hbbwjScPaehei+hNhk7.jua%iKhoj(jDj*hwf)a,jI4njGg|k5j?hDj^hFhci j}i hMkncRk1hR0-hT5{dA657ahYdA0.0:0=04.