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.128013Eg[ r;)/(lo4,6b=a+x5utP7e-h0mnCkç:SéNq.y1cd328_wvpf*9RA]is050S0A0x0s0*0l0+0f0R0l0s0+0+0r010x0*0Z010406050+0w0E0E0s0g0P040K0m0l0w0 0m0F0f020s0E0Z0h0f0%0A190g0N0w0A0+050j16181a1c140Z04051H1A1K0j1H140S0*0Y0@0_0{0}0_0F0d0w0s0d0A0B0Z0P0x0C1j0f0C0*0d0C0l1:0C0x12050/0q0l0A1T0`0|011/1;1?1;0x1|1~1`0x0g1I1+0@1f0+0Z0s0F0}0U01201V010!0;0A0F1n0A1`2i2k2p222s1~2v0E2x040b0f0y0g0m0Z0m0+0*1i1k0-2g0g0g0A0R2S1A2z0F1I0j1+2(2c2e2d1{0S2B1W0*0F2u2P1`1Q1S0^212=2@0F0m2{1`0Z2X1I2$2(38152j1k2}2q310g190l1`0s1.2X0!0}030W0W0R320A1?300m0B0Q3z120f0Q1A0s393c133b2A3e223g3i3k3m0A3o013q3s3u3w2^3z0B2n040f0U3F3H2k3J2$2;013O0s3j1I3l0C3n3p3r3t0-3Y313!0T3C0T3*2#3I143.3M0}3;3?053^3`3U3|3X2?3Z3A0n3C0n451B473K3d1U3N0m3h3=3Q3_3S3{3W3~4k403A0v3C0v4q38483c3/4c4A4g3V3}3v4G3y3A0p3C0p4M4s494v4b4x3P3@3R3T4U4j3x3!0z3C0z4%3,4O3L4*3:4,4z4.4B4:4i4F4?3A0V3C0V4{2%4}4u2~504y4d4f4C4h4E4W580B0$3C0$5d3-4P4a5i4-4e4/4D4V3 4Y3z0D120Q0D5v5f4Q515k5C5n5E4X3!0Q0Q5J3E0j3G464|4t5O5j4S5m4;574l3z3$0Q3)5!3+2%1L361A2{2+0S2e2:5y4V2`1R1I350A373I5$5_4V692A0*0S0}3r2$5V3Q6g6i5o5F6l0f2F0A6o5T5q5X2(5#4)5h0H120-0!6b3%5(5y0F0!120E0m0P2u2@6H6J4 11040k6T6B3f12310E6Z5x6V120o6H0f6U5h0F6E0*3t0W2X160l0x6)4~5h6W0i0J6H144r3,5(6n016j3c3!3$5B79565p5/2n6s2w6v4=7j1`5@0f7s6/6!226D040*6G762%7u6*6;6$0m6(7B6I7v0}0m0X122?6.6:6#041Q6^6`0w6|6~5g2q6W737J753a3.7g0W6k3A424.7-6w5/427l2G7n5.4H0B7;3*7t827D6 7T310x1y7R7L010m120r8a7E7T7V0m6_1y7Y6}7J7S226W0e7!4Q7G7I7+8h8r120)748u7-7/0B4n7=6h7a6p5U4m2o6t7|7i7~8I81837s8q4b120x0m0/0l0W2O2?0x1z7J847#228d048f8.8Y010E0*125L7)8E8K7b2k3!4J8J8R6q4I8P7m8L7@7~958V8W8_6=048#8%3W3S2s0R0*2u8,8g858;8e9u8:0}8{8}8D8p7,917.7c4Z6m9G9d5G4!7`6u9c7o7~4!6z3%8W8/3/7x0!4x9y8v040Y3=0A0w0g8-388X8b7N7P0F9%6K7G889/6a9=120O8u9`9)3=1x9}778b6W0k729D8y6f9G8G4^969R7}5G4^9P978N0Bai9g9X9;8z8Z04870Aa26+046-8^8b9j3t9o6@9r0F8o9:8_8=8@aOaG129*1~9-a75e906o8G5aaj7h980B5aaoak8S5Ga%atau9i8!8$3=8)0m8+aY7Kaw8c9xaFb09j9la`8*aMa~9Y5y8=0t9_4 9jazbf5h8=0#bj7TaI0!9paLaN4s9E4P8F9I5r9Kap5q5sa-a)aq5s9Vau82a@9ka_8(bpbr9sbaaPb2aSb4a^9mbPaKbRbn9w04beb39vaxbZ9q9sad9~bwagby5KbAa.a*b^bE8M6x5IbI9X8_7x2X0x9-9^b*9z3:0q122M0w0F0SaB70126Ybvb+3:bXb7a|b9b$7M120jctcobMbY0maJb.cscmca6WaEbVcn9B045ZaecG120ib:a8b=a#b@6y7f9L9S5G5W9a7{b`aqc$c1avcn7x3v0+aAcF3/7%cS5_9FcV933A5=b_bF6x7k8Qc)d27q3Ga?8bc40.c7cx8=0Bci2qcLcNbu3a0j6d5`685|651A0x5 dt2.2)0s1}dq0j5}1G6eca2X0E0W0!0s0H0A0W0C7;1s1u1w1y0f7(dm1O1J040G0.0f0A0u0A0g9q0R1 1h0;0*c;0@1 dT0f0l001-0s0Z0Z3v1~d%1k2k0d0_d;0f2Ud`01cf2j0R0H2?0d2od^d`1-2O9-0g0:0x0f2c0s0S0w0*2Xe20f0!eo0F0I0:0?2j0g0f010S0L0q3=0_1$011L3J1H0a0f0M0m0w0?d`0s0Y1j0?0+eX0Y9s0fd/1?0+0L0fe#2Ye8dUc60Z1~0+a11N3J2{3/et6O0F2R0*1-d(1ne{2H1Gf20Sf4f61j0B0 0x2a040cd)1o1~eR1P1R3/1X1Z1#1%1)1+1-241=1@1_dF3/2D2u2w120y1*1,c83a67dF5^1Idoc{8L6k0U3Ba(b~3Zf!5Xb}9M3#3B5R5-a/f-cX5@bL0sdh8AaDcx9j0qf`0}cHf}120RdebU3IbbaCclcO3/djg001g2c9gd8|045?gc5yghcJcacL44c?gocQ6.g95h0R6y030f0(e+0Re-1ke`fr8 c?bx93f!7e3l7?c!f-d39bd1f(3#2o545DgTgPd7fH6Kcc04358+gfaagf9jf_guaCcRgLgcgN0Ff-80gRcZalg c%9QgX40f!7_g#5Sg%7 g)9ig,g.aMg:ckg=12f g^cj04g`4Na!fY7cf!8Uh1bBgY4nf+hdhChbf:6qhxhfaGhh0gg/hp7$hlhP3Ng4hkhrc_2(do1N5{dC6575dDdZeUd#281 2O0{0*0qd:0xe;d(d;88e=eY2Qe=gFe^eZh`89e ft2|4 f31jfh1kf9fqfc1Jfefg2Sfj2Rfmfo1tfbfs0,fu5yfw1!1$1(fOfC1@261^2yb0fJ6tfMiyfQ6afS4tfU05fWcUhv930Tf#cYhA40iTf*d4h73yiYg!4Ti#7 iUf@aT04g@gnaCcIg8bLhoi;hqi?3,gybog68?cx8sgfgehSg16,cxcLgmb;cngpi@8bgshV8C8.i~22gA12gCgEe@cf1 e/88hX78b?iSgZf$f,iTgVc(i*jDi(5,jGjA45hL12hibtcTjdhRi`7Ti:jccPhWg{jX0fg}i+h0j$h2f;iT7_i!f%iXhef/jK80i-b4hMhOjUf{gbj#a3i_k0g_jwfX92g~iThyj*iWi$8Hh5kci+hFi)j:kd8Uj_cn0Fj{hjj6ggjTk37F04g5ks71jwdn3u2(iLh$0Y3JkGkI0-0/0;0+04.