Élève en POO

On souhaite dans cet exercice créer une classe Eleve ayant quatre attributs :

  • un prénom prenom de type str ;

  • un nom nom de type str ;

  • une classe classe de type str ;

  • des moyennes moyennes de type dict. Ce dictionnaire associe à des intitulés de matières (str), les moyennes correspondantes (au format int ou float).

Cet exercice est en plusieurs parties et demande de compléter la classe Eleve en ajoutant différentes méthodes.

ajout_methodes_precedentes

A partir de la deuxième question, la fonction ajout_methodes_precedentes est appelée avant les tests afin de compléter votre travail en ajoutant les corrigés des questions précédentes à la classe Eleve.

Méthode __init__

Lors de la création d'un objet de type Eleve, on fournit les valeurs des attributs prenom, nom et classe (dans cet ordre).

L'attribut moyennes est initialement vide.

Compléter la méthode __init__ (aussi appelée « constructeur » en Python) de la classe Eleve.

Exemple
>>> albert = Eleve("Albert", "Einstein", "Te2")
>>> albert.prenom
'Albert'
>>> albert.nom
'Einstein'
>>> albert.classe
'Te2'
>>> albert.moyennes
{}

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

.128013:pbv(4i2edm3s= 1E}o5w_lSnatf)h{6,crg.yPku/050k0j0B0A0h0x0n0p0I0x0A0n0n0o010B0h0c010406050n0P0l0l0A0J0M040y0t0x0P0+0t0z050Q0=0@0_0{0:0c04141b051e0Q1e1g1b0:0k0h0e0Z0#0%0)0E0h0K0E0x1u0E0B0.050U0d0x0j1p0$0(011t1v1x1v0B1D1F1B0B0d0t0k0{1C0J1c0B0E0Z0~0n0c0A0z0)0i011H1r010C0W0j0z0A0l0j1B1)1+1:1J1?1F1_1{0.0a0p0N0J0t0c0t0n0h110z0p0S1%0J0J0j0I2g141~0z1c0Q1#2t0B1Z1Y1!0k200)1x0z1^2d1B1m1o0!1I2D0h2F0z1V1n1B0c2m1c2r2t2X0;1*2h2L1;2Q0J0^0x0.0q2q2#0/2!1 2%1J2)2+0.0i2/1+2;2r2C012_0A2,040m2}2s0:302@0)33350g382 2#313e0.0u3h3a3j3c320t2*340.0G3h1d2V142J2w0k2A310I1V1|1c3C1f3A2Z152:053H0S2W3q1q1J0O0.2@3y3b3W0)0v0.0p3#3V2M320I0.0r1F0e0j3,2?3%010-040b3o0p413+3$3.3Y040S0C3_2$3{3)043+3P2~2=4b3.0C0l0.0w0w2O2f4o4a313}0f4t3r0d3}0n0j0x494g2s4i4u0.0H3h433-2(0.2U2G0l4x3{3}4K4F4e4H3r0z0.2Q4S4X4Z4U4J4L4*3.4#042@3^4)441;3}0D3 4X06424 4M3`3.4z0.4B4D4T3.0t0.0L584O044Q4%4-4^1J5a040o5i4N2^4P2m5h4}50424.1;5404564E2Z5j0)5l5c4@5p3d4$0t4(2X514j1;5l5n4X5P3k5L5N2:4~5v5V4y4A4C5C3Q5E015G5d5q4;3W4?5O5x5k0.5T5@5,4:4=405#5^0)5z5B5/5F5b66320.0l0t0M1^2F0n5o525R5`6i5Q1J3}0F0s3o143S0j2t4Q2t3L2u3E142x2w1U1W2w0A1E6v3B1n2;0Q0S0U0W0n04.

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

.128013:pbv(4i2edm3s= 1E}o5w_lSnatf)h{6,crg.yPku/050k0j0B0A0h0x0n0p0I0x0A0n0n0o010B0h0c010406050n0P0l0l0A0J0M040y0t0x0P0+0t0z050Q0=0@0_0{0:0c04141b051e0Q1e1g1b0:0k0h0e0Z0#0%0)0E0h0K0E0x1u0E0B0.050U0d0x0j1p0$0(011t1v1x1v0B1D1F1B0B0d0t0k0{1C0J1c0B0E0Z0~0n0c0A0z0)0i011H1r010C0W0j0z0A0l0j1B1)1+1:1J1?1F1_1{0.0a0p0N0J0t0c0t0n0h110z0p0S1%0J0J0j0I2g141~0z1c0Q1#2t0B1Z1Y1!0k200)1x0z1^2d1B1m1o0!1I2D0h2F0z1V1n1B0c2m1c2r2t2X0;1*2h2L1;2Q0J0^0x0.0q2q2#0/2!1 2%1J2)2+0.0i2/1+2;2r2C012_0A2,040m2}2s0:302@0)33350g382 2#313e0.0u3h3a3j3c320t2*340.0G3h1d2V142J2w0k2A310I1V1|1c3C1f3A2Z152:053H0S2W3q1q1J0O0.2@3y3b3W0)0v0.0p3#3V2M320I0.0r1F0e0j3,2?3%010-040b3o0p413+3$3.3Y040S0C3_2$3{3)043+3P2~2=4b3.0C0l0.0w0w2O2f4o4a313}0f4t3r0d3}0n0j0x494g2s4i4u0.0H3h433-2(0.2U2G0l4x3{3}4K4F4e4H3r0z0.2Q4S4X4Z4U4J4L4*3.4#042@3^4)441;3}0D3 4X06424 4M3`3.4z0.4B4D4T3.0t0.0L584O044Q4%4-4^1J5a040o5i4N2^4P2m5h4}50424.1;5404564E2Z5j0)5l5c4@5p3d4$0t4(2X514j1;5l5n4X5P3k5L5N2:4~5v5V4y4A4C5C3Q5E015G5d5q4;3W4?5O5x5k0.5T5@5,4:4=405#5^0)5z5B5/5F5b66320.0l0t0M1^2F0n5o525R5`6i5Q1J3}0F0s3o143S0j2t4Q2t3L2u3E142x2w1U1W2w0A1E6v3B1n2;0Q0S0U0W0n04.
Méthode modifie_moyenne

La méthode modifie_moyenne prend deux paramètres, un intitulé de matière (str) et une moyenne (au format int ou float) et ajoute ce couple (clé: valeur) à l'attribut moyennes d'un objet Eleve.

Écrire la méthode modifie_moyenne.

Exemple
>>> carl = Eleve("Carl Friedrich", "Gauss", "Te3")
>>> carl.modifie_moyenne("arithmétique", 20)
>>> carl.modifie_moyenne("chimie", 12)
>>> carl.moyennes
{'arithmétique': 20, 'chimie': 12}
>>> carl.modifie_moyenne("chimie", 13)
>>> carl.moyennes
{'arithmétique': 20, 'chimie': 13}

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

.128013:pbv(4i2edm3s7= 1E}o5w_lSnatf)9h]{6,crg.[yPku8/050k0j0C0B0h0y0n0q0L0y0B0n0n0p010C0h0c010406050n0T0l0l0B0M0Q040z0u0y0T0:0u0A050V0`0|0~100^0c04191g051j0V1j1l1g0^0k0h0e0(0*0,0.0G0h0N0G0y1z0G0C0?050Z0d0y0j1u0+0-011y1A1C1A0C1I1K1G0C0d0u0k101H0M1h0C0G0(130n0c0B0A0.0i011M1w010D0#0j0A0B0l0j1G1.1:1^1O1{1K1~200?0a0q0R0M0u0c0u0n0h160A0q0X1,0M0M0j0L2l19230A1h0V1*2y0C1(1%1)0k250.1C0A1}2i1G1r1t0)1N2I0h2K0A1!1s1G0c2r1h2w2y2$0_1/2m2Q1_2V0M0}0y0?0r2v2*0@2)242,1O2.2:0?0i2@1:2_2w2H012~0B2;040m322x0^352|0.383a0g3d342*363j0?0v3m3f3o3h370u2/390?0J3t2`2+1v2}3y2 040o3D3g3G3i3I3A040U3M3v3O3x3z3a0F3m1i2!192O2B0k2F360L1!211h3)1k3%2(1a2^053.0X2#3V2R010S0?2|3#3N400w0?0q453 2-0L0?0s1K0e0j4b2{3W0=040b3t0q4r4a461_42040X0D4k3F47494A360D0l0?0x0x2T2k4J4E3w4n0f4O3W0d4n0n0j0y4z3_333E364n0K3m4t4c2}0?2Z2L0l4S404(4*4$3w0A0?2V4;4!2x4_4m0?4)4 044+4l404{042|4j55514?0?0E4p55064s5m574B1_4U0?4W4Y4=1_0u0?0O5v4-044/4}4^4u1O5x040p5F4,3i4.2r5E5k5n4s5f5q4V4X4Z2(5G0.5I5z5e5!374|0u4~2$5o365I5K555/4`5+5-2^5l5S5@4T5W5u5(5M015$5A5N5b3G5d5.5U5H0?5=6b5)5a5c4q5}6c0.5r045t5Y3`5)6562582-0?0l0u0Q1}2K0n5L6w6d5J6F5p1O4n0I0t3t5|4r6m410?4y660148566W0A0D6y2W1{0j0x6z6B0A2K6W4Q6W6o6q6:536J3p6y0B0:0j2r6^04546g635a6,6C6a6s634n5i6k5S6S6?5X6W6u5Z756%6-6D710P6!6|6~706v6K0.4n0H6`3w5;7B3W766A783D0V3|0j2y4/2y3=2z3+192C2B1Z1#2B0B1J7M3(1s2_0V0X0Z0#0n04.

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

.128013:pbv(4i2edm3s7= 1E}o5w_lSnatf)9h]{6,crg.[yPku8/050k0j0C0B0h0y0n0q0L0y0B0n0n0p010C0h0c010406050n0T0l0l0B0M0Q040z0u0y0T0:0u0A050V0`0|0~100^0c04191g051j0V1j1l1g0^0k0h0e0(0*0,0.0G0h0N0G0y1z0G0C0?050Z0d0y0j1u0+0-011y1A1C1A0C1I1K1G0C0d0u0k101H0M1h0C0G0(130n0c0B0A0.0i011M1w010D0#0j0A0B0l0j1G1.1:1^1O1{1K1~200?0a0q0R0M0u0c0u0n0h160A0q0X1,0M0M0j0L2l19230A1h0V1*2y0C1(1%1)0k250.1C0A1}2i1G1r1t0)1N2I0h2K0A1!1s1G0c2r1h2w2y2$0_1/2m2Q1_2V0M0}0y0?0r2v2*0@2)242,1O2.2:0?0i2@1:2_2w2H012~0B2;040m322x0^352|0.383a0g3d342*363j0?0v3m3f3o3h370u2/390?0J3t2`2+1v2}3y2 040o3D3g3G3i3I3A040U3M3v3O3x3z3a0F3m1i2!192O2B0k2F360L1!211h3)1k3%2(1a2^053.0X2#3V2R010S0?2|3#3N400w0?0q453 2-0L0?0s1K0e0j4b2{3W0=040b3t0q4r4a461_42040X0D4k3F47494A360D0l0?0x0x2T2k4J4E3w4n0f4O3W0d4n0n0j0y4z3_333E364n0K3m4t4c2}0?2Z2L0l4S404(4*4$3w0A0?2V4;4!2x4_4m0?4)4 044+4l404{042|4j55514?0?0E4p55064s5m574B1_4U0?4W4Y4=1_0u0?0O5v4-044/4}4^4u1O5x040p5F4,3i4.2r5E5k5n4s5f5q4V4X4Z2(5G0.5I5z5e5!374|0u4~2$5o365I5K555/4`5+5-2^5l5S5@4T5W5u5(5M015$5A5N5b3G5d5.5U5H0?5=6b5)5a5c4q5}6c0.5r045t5Y3`5)6562582-0?0l0u0Q1}2K0n5L6w6d5J6F5p1O4n0I0t3t5|4r6m410?4y660148566W0A0D6y2W1{0j0x6z6B0A2K6W4Q6W6o6q6:536J3p6y0B0:0j2r6^04546g635a6,6C6a6s634n5i6k5S6S6?5X6W6u5Z756%6-6D710P6!6|6~706v6K0.4n0H6`3w5;7B3W766A783D0V3|0j2y4/2y3=2z3+192C2B1Z1#2B0B1J7M3(1s2_0V0X0Z0#0n04.
Méthode moyenne_de

La méthode moyenne_de prend en unique paramètre un intitulé de matière (str) et renvoie la moyenne de cet élève dans cette matière.

Si l'élève ne possède pas de moyenne dans cette matière, la fonction renverra None.

Écrire la méthode moyenne_de.

Exemple
>>> donald = Eleve("Donald", "Knuth", "Te7")
>>> donald.modifie_moyenne("informatique", 20)
>>> donald.modifie_moyenne("musique", 13)
>>> donald.moyenne_de("informatique")
20
>>> donald.moyenne_de("musique")
13
>>> donald.moyenne_de("lancer de javelot")
>>>

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

.128013:pbv(40i2edm3;sN7= 1E}o5w_lSAênatf)9h]{R6qcrg,.[éyPku8/050l0k0H0G0i0B0p0t0R0B0G0p0p0s010H0i0c010406050p0#0m0m0G0S0Y040C0x0B0#0{0x0F0t020G0m0c0o0t0O0k150S0Q0#0k0p050%12141618100c041w1D051G0%1G1I1D100l0i0e0:0=0@0_0L0i0T0L0B1W0L0H0~050+0d0B0k1R0?0^011V1X1Z1X0H1)1+1%0H0d0x0l181(0S1E0H0L0:1b0p0c0G0F0_0j011-1T010I0-0k0F1j0k1%282a2f1/2i1+2l0m2n040a0t0Z0S0x0c0x0p0i1e1g0)260S0S0k0R2I1w2p0F1E0%242U0H2221230l2r0_1Z0F2k2F1%1O1Q0;1.2(0i2*0F1~1P1%0c2N1E2S2U2 11291g2:2g2^0S150B0~0t0u2R330 322q351/37393b0j3e2a3g2S2%013l0G3a040t0n3p2T103s3j0_3v3x0t0g3B3r333t3H3b0y3L3D3N3F3u0x383w3b0P3S3h341S3k3X3m3y0r3$3E3)3G3+3Z3y0$3/3U3;3W3Y3I0K3`3i3|3P040u0h413(2;3}3,0u3d1x3f3T424a440u3o4f3q4h49363?3x0u3A4n3C3%3O4s0~0u3K4w3M4i4r3~4B3R4E1F2}1w2.2X0l2#3t0R1~2x0(1P1E2|0k2~3f3L054U0)4$4G1/0!0~3j4(3:4a0z3b4=3{4j0R0~0v1+0e0k4`4-0_0}040b3S0t5a0t4y3V4/040)0I534q1/4^3y5j3t0I0m0~0A0A2?2H5t5o3V560f5y3|0d560p0k0B5i4L4?2g560U3L5c5L3k0~4!2^0m5C4a5N5P5d430~5V5X5M0~5O4E5Q4{364:3)525K5/1/560J584E065b5 5.54015E0~5G5I5)1/0x0~0V683G5T2N5(5-5#4a6a040s5!5R6e045U0x5W5}605b6j2g6404665J316p016l6c5@620F5%6t6o5^0_6l6n6i6F6L046h2 5~6w615k0_6A6C6d6G6b6*6V3j5?2 6#3t6R6O6K5;1.6:4g6!6=3V6(5H6D4%6F6H6-0~0m0x0Y2k2*1v6T6P6+6m6^6$01560N0w3S6Z5a6y4.0~5h6*5m5c6J7k0F0I782_2i0k0A797b0F2*6*5A6*71677z3t5Z7f6_04150{0k2N7M5+7j3O7D7J7L7R5z0~5{596!7s6%5F726*767,5$7W7a7c1u7#040W777W0G7Y7!7{5Y0~0M7%3V6@7U7A7)7 7p5 7=015f7v892g7x6-7C7}7*7G0)815B8q1/7P733q8m7T6;8m6V7X0i7Z6|8F6F5`5|6Y6~8m5f0i8E2T6 7|8L8N8d3|0x5m2?8(4a8D7_6,8B6q7I7 7e6E7g568S6}6~6x6F5f2N0H0#0S0F8-6z7@7Q8`627`9c8h8v8^81838=3u78868M889f7S8b7:6w8V0~5H5G818}4o8 907g920*95978g3t0!4}040q1f8O4x0%4*4#4M9V0%4P1w0H4R9!2Z2V1}1 2X0G1*9X4P1C4,7k2N0m0A0I0G0!7G0L0n0~1o1q1s1u0t9B2T1F3g1D9P0H1f0p0U0t1s002k2A0Y241faf0#2*0t0I1f2P0i1f0t0p2a0/4)4V3t1;1Y1!1$9=9L0~939I4(9T4V3y6g0e0x8M0t290S0t0l0X9`1d5c9UaD1!1?1#2o9F9N9P7+31aO4+6I1M1H040D2?2G0t1+262K2|0X0R0X0)0F0HaV0x950S0,b90E2Y1,b40S2Haxaza 1,aB2K3VaEa+aH9w049y9R2U9U3y1s0iax7Zbe0t0T0X0S0X0t0i1k1Z0R2H1p2kb95|a_2.a)1=aG2{4Na=31bBbw8p9r3V8s9l7B8i7K8xbz8G0~8Ab-5D9a8YaI7-045,8I6U9n87b^8Q7.a60 8l910~8X985S85c7ch6Q8+9Jc47g8/9l9e747g8K7~b?8_cu628|9u60bwaL96cl63b~8:046Ib|4jb=7d9j848$9qcA7k568c5}1wb*1J4N9Y4Y109Y0*0,0.04.

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

.128013:pbv(40i2edm3;sN7= 1E}o5w_lSAênatf)9h]{R6qcrg,.[éyPku8/050l0k0H0G0i0B0p0t0R0B0G0p0p0s010H0i0c010406050p0#0m0m0G0S0Y040C0x0B0#0{0x0F0t020G0m0c0o0t0O0k150S0Q0#0k0p050%12141618100c041w1D051G0%1G1I1D100l0i0e0:0=0@0_0L0i0T0L0B1W0L0H0~050+0d0B0k1R0?0^011V1X1Z1X0H1)1+1%0H0d0x0l181(0S1E0H0L0:1b0p0c0G0F0_0j011-1T010I0-0k0F1j0k1%282a2f1/2i1+2l0m2n040a0t0Z0S0x0c0x0p0i1e1g0)260S0S0k0R2I1w2p0F1E0%242U0H2221230l2r0_1Z0F2k2F1%1O1Q0;1.2(0i2*0F1~1P1%0c2N1E2S2U2 11291g2:2g2^0S150B0~0t0u2R330 322q351/37393b0j3e2a3g2S2%013l0G3a040t0n3p2T103s3j0_3v3x0t0g3B3r333t3H3b0y3L3D3N3F3u0x383w3b0P3S3h341S3k3X3m3y0r3$3E3)3G3+3Z3y0$3/3U3;3W3Y3I0K3`3i3|3P040u0h413(2;3}3,0u3d1x3f3T424a440u3o4f3q4h49363?3x0u3A4n3C3%3O4s0~0u3K4w3M4i4r3~4B3R4E1F2}1w2.2X0l2#3t0R1~2x0(1P1E2|0k2~3f3L054U0)4$4G1/0!0~3j4(3:4a0z3b4=3{4j0R0~0v1+0e0k4`4-0_0}040b3S0t5a0t4y3V4/040)0I534q1/4^3y5j3t0I0m0~0A0A2?2H5t5o3V560f5y3|0d560p0k0B5i4L4?2g560U3L5c5L3k0~4!2^0m5C4a5N5P5d430~5V5X5M0~5O4E5Q4{364:3)525K5/1/560J584E065b5 5.54015E0~5G5I5)1/0x0~0V683G5T2N5(5-5#4a6a040s5!5R6e045U0x5W5}605b6j2g6404665J316p016l6c5@620F5%6t6o5^0_6l6n6i6F6L046h2 5~6w615k0_6A6C6d6G6b6*6V3j5?2 6#3t6R6O6K5;1.6:4g6!6=3V6(5H6D4%6F6H6-0~0m0x0Y2k2*1v6T6P6+6m6^6$01560N0w3S6Z5a6y4.0~5h6*5m5c6J7k0F0I782_2i0k0A797b0F2*6*5A6*71677z3t5Z7f6_04150{0k2N7M5+7j3O7D7J7L7R5z0~5{596!7s6%5F726*767,5$7W7a7c1u7#040W777W0G7Y7!7{5Y0~0M7%3V6@7U7A7)7 7p5 7=015f7v892g7x6-7C7}7*7G0)815B8q1/7P733q8m7T6;8m6V7X0i7Z6|8F6F5`5|6Y6~8m5f0i8E2T6 7|8L8N8d3|0x5m2?8(4a8D7_6,8B6q7I7 7e6E7g568S6}6~6x6F5f2N0H0#0S0F8-6z7@7Q8`627`9c8h8v8^81838=3u78868M889f7S8b7:6w8V0~5H5G818}4o8 907g920*95978g3t0!4}040q1f8O4x0%4*4#4M9V0%4P1w0H4R9!2Z2V1}1 2X0G1*9X4P1C4,7k2N0m0A0I0G0!7G0L0n0~1o1q1s1u0t9B2T1F3g1D9P0H1f0p0U0t1s002k2A0Y241faf0#2*0t0I1f2P0i1f0t0p2a0/4)4V3t1;1Y1!1$9=9L0~939I4(9T4V3y6g0e0x8M0t290S0t0l0X9`1d5c9UaD1!1?1#2o9F9N9P7+31aO4+6I1M1H040D2?2G0t1+262K2|0X0R0X0)0F0HaV0x950S0,b90E2Y1,b40S2Haxaza 1,aB2K3VaEa+aH9w049y9R2U9U3y1s0iax7Zbe0t0T0X0S0X0t0i1k1Z0R2H1p2kb95|a_2.a)1=aG2{4Na=31bBbw8p9r3V8s9l7B8i7K8xbz8G0~8Ab-5D9a8YaI7-045,8I6U9n87b^8Q7.a60 8l910~8X985S85c7ch6Q8+9Jc47g8/9l9e747g8K7~b?8_cu628|9u60bwaL96cl63b~8:046Ib|4jb=7d9j848$9qcA7k568c5}1wb*1J4N9Y4Y109Y0*0,0.04.
Méthode moyenne_simple

La méthode moyenne_simple calcule et renvoie la moyenne générale de l'élève. Celle-ci se calcule en effectuant la moyenne des moyennes.

Si l'élève n'a aucune moyenne, la fonction renverra None.

Écrire la méthode moyenne_simple.

Exemple
>>> jane = Eleve("Jane", "Goodall", "Te3")
>>> jane.modifie_moyenne("éthologie", 20)
>>> jane.modifie_moyenne("théorie des groupes", 14)
>>> jane.moyenne_simple()
17.0

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

.128013:p(40ed3;N 1E}o5_êAn)h]6,qc[yCuvài2+xms7=wlSatf9{Rrg.éPkb8/050h0g0U0T0I0R0N0l0B0R0T0N0N0P010U0I0c010406050N0F0M0M0T0Z0D040S0p0R0F0 0p0u0l020T0M0c0j0l0Y0g190Z0A0F0g0N050+16181a1c140c041A1H051K0+1K1M1H140h0I0G0@0_0{0}0w0I0!0w0R1!0w0U12050/0)0R0g1V0`0|011Z1#1%1#0U1-1/1+0U0)0p0h1c1,0Z1I0U0w0@1f0N0c0T0u0}0J011;1X010V0;0g0u1n0g1+2c2e2j1?2m1/2p0M2r040a0l0%0Z0p0c0p0N0I1i1k0-2a0Z0Z0g0B2M1A2t0u1I0+282Y0U2625270h2v0}1%0u2o2J1+1S1U0^1=2,0I2.0u221T1+0c2R1I2W2Y33152d1k2@2k2|0Z190R120l0m2V3713362u391?3b3d3f0J3i2e3k2W2+013p0T3e040l0i3t2X143w3n0}3z3B0l0e3F3v373x3L3f0q3P3H3R3J3y0p3c3A3f0y3W3l381W3o3#3q3C0O3*3I3-3K3/3%3C0*3?3Y3^3!3$3M0W3~3m403T040m0f453,2^413:0m3h1B3j3X464e480m3s4j3u4l4d3a3`3B0m3E4r3G3+3S4w120m3O4A3Q4m4v424F3V4I4t4D4M493)4P4C3Z4o3=4V3@4n4E493}4!3 4$4S0m444*4K3.4S0J4b4:4u4=3:0J4i334Q4X4%0J4q351N311A2=2#0h2)3x0B222B0,1T1I300g323j3P055e0-5m4;0}0(123n5o4#2k0Q3f5y4+3a0B120n1/0G0g5D5t0111040b3W0l5T0l4W405v040-0V5M4`0}5B3C5$3x0V0M120r0r2`2L5:5+3Z5P0d5^400)5P0N0g0R5#4I5W4e5P0z3P5V5z3o125k2|0M5|6612684I6a5E6c046f6h2k6769653a5w3-5L646b0}5P0v5R4P5U6H6m5N5~1260626r1?0p120#6P3K6d2R6q6l6v6Q120P6u6B3y6W2/6g6G6I5T6!0}6L046N63356)6R046T6A6n6V6p0p6-336J5%016|6%6Z6)0u126Y4 6/6:6)6?6^6U786S7m7d043n6z756;7n047a7u7c6x1=7t4k7h763x7k616_5n6{7o6 5N7q0M0p0D2o2.1z7b707w7y3j7G5_120X0o3W066H7v5Y5!7m5)5V7O770u0V127R1S2m0g0r7R7T0u2.7m5`7m7I6O7@3x6t7X7P7{0T0 0g2R856j6(7Y7Q7S7U7D3u7v6D6F7g7h7v887K8s7M6}7p7{8p831y8k040C8E04198h8j8a7%040x8m5N798V7^8F82844P7,5U7.127:8R407=7p7`8N8G2.0r0-8J5{8-4e8z8J6k7z8n8f8P8r2X8t126E5S8x6)5Y0I8A2X7$47930I8i955*6{5)2`8Y7H5 7J7m6|6~6`928=8#8I8|6s128v7E7F8)9c122R0U0F0Z0u9r3Z8~9D6#8D9U71818q7W9y5N5P8L9X6*8N8g9k8Q9$775P8U8%7-9K5Z0g9f5s778/9*7_8!8q0r2K1o1/8`879t899:8b989G4s7F8*049e9R470)122ya89*9Tac3Z9w8M9Z8H9#7L7Y6Dal4e6|020!0U0jaD2k0M0I124^at405Paf3G9I9J9z0U0p0/0RaK9V7!3u9h4eaMaO9aaVai0V3#a$9Y7Sa?789p9Q8d77asaA8W7NaQ4na2ay9vb2b08Z040G3A1xaz8BaB120d996.aV9^aXaZ3Aa_6|0Ka(9g7v8o0Da.9Iai9M9Oa|918e04aYa!br120+a_0uan04ap9*86araa9|7vava0b57V8J0vbzbn5N5Y61608JaT13bma*2k5YbC9Pa_0(5G040k1j9m140+5q5l1J570+591A0U5bc92%2Z21232#0T1.c4c75i1G9}3x2R0M0r0V0T0(7 0w0i121s1u1w1y0lb/1J3k1H0E732A0l2`1S1w0$0l0h2e0?0R000g0L8i0B0I0B1:300$0B0$0-0u0U0z0l1/5Vc33x1^1$1(1*co3Zb+0=9m975Qb`9L0.bDb`b|b~8$55c33C0c0g1h0l0s2$1:730I0N6~1Q1L040t2`2Kc:1:c?c(c*c,0U0l1ydB0$1w1T3A2odB0HcEcG1R1Tc@1(1`1)2 575535dcai8,b35A5Ca08;ax8@a50ca7bSbia96M9ud/04bk8w7i7Y9d9|b=3obPbRd#1?bTe36=bVb79We69+d*9CebaCa}3xaFaHaJeh3Za,04aPb9add2bl6Ibw12bIbqem408XeAa+aNepb(aWb*12a;0ZbN8!bra{a_a bgb1eaer4Xb!eeeWeBb8eTbabc1geZe%esbjb/8(a/7AbHbpa#eD2kbsbu9n9z81eHd{eJ04b^bE7#ewe?bJe_9VbMfa3Ke12oaqebeS968C9xe!b49A9!b$3*c25f2Y5k2Y59c10-0/0;0N04.

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

.128013:p(40ed3;N 1E}o5_êAn)h]6,qc[yCuvài2+xms7=wlSatf9{Rrg.éPkb8/050h0g0U0T0I0R0N0l0B0R0T0N0N0P010U0I0c010406050N0F0M0M0T0Z0D040S0p0R0F0 0p0u0l020T0M0c0j0l0Y0g190Z0A0F0g0N050+16181a1c140c041A1H051K0+1K1M1H140h0I0G0@0_0{0}0w0I0!0w0R1!0w0U12050/0)0R0g1V0`0|011Z1#1%1#0U1-1/1+0U0)0p0h1c1,0Z1I0U0w0@1f0N0c0T0u0}0J011;1X010V0;0g0u1n0g1+2c2e2j1?2m1/2p0M2r040a0l0%0Z0p0c0p0N0I1i1k0-2a0Z0Z0g0B2M1A2t0u1I0+282Y0U2625270h2v0}1%0u2o2J1+1S1U0^1=2,0I2.0u221T1+0c2R1I2W2Y33152d1k2@2k2|0Z190R120l0m2V3713362u391?3b3d3f0J3i2e3k2W2+013p0T3e040l0i3t2X143w3n0}3z3B0l0e3F3v373x3L3f0q3P3H3R3J3y0p3c3A3f0y3W3l381W3o3#3q3C0O3*3I3-3K3/3%3C0*3?3Y3^3!3$3M0W3~3m403T040m0f453,2^413:0m3h1B3j3X464e480m3s4j3u4l4d3a3`3B0m3E4r3G3+3S4w120m3O4A3Q4m4v424F3V4I4t4D4M493)4P4C3Z4o3=4V3@4n4E493}4!3 4$4S0m444*4K3.4S0J4b4:4u4=3:0J4i334Q4X4%0J4q351N311A2=2#0h2)3x0B222B0,1T1I300g323j3P055e0-5m4;0}0(123n5o4#2k0Q3f5y4+3a0B120n1/0G0g5D5t0111040b3W0l5T0l4W405v040-0V5M4`0}5B3C5$3x0V0M120r0r2`2L5:5+3Z5P0d5^400)5P0N0g0R5#4I5W4e5P0z3P5V5z3o125k2|0M5|6612684I6a5E6c046f6h2k6769653a5w3-5L646b0}5P0v5R4P5U6H6m5N5~1260626r1?0p120#6P3K6d2R6q6l6v6Q120P6u6B3y6W2/6g6G6I5T6!0}6L046N63356)6R046T6A6n6V6p0p6-336J5%016|6%6Z6)0u126Y4 6/6:6)6?6^6U786S7m7d043n6z756;7n047a7u7c6x1=7t4k7h763x7k616_5n6{7o6 5N7q0M0p0D2o2.1z7b707w7y3j7G5_120X0o3W066H7v5Y5!7m5)5V7O770u0V127R1S2m0g0r7R7T0u2.7m5`7m7I6O7@3x6t7X7P7{0T0 0g2R856j6(7Y7Q7S7U7D3u7v6D6F7g7h7v887K8s7M6}7p7{8p831y8k040C8E04198h8j8a7%040x8m5N798V7^8F82844P7,5U7.127:8R407=7p7`8N8G2.0r0-8J5{8-4e8z8J6k7z8n8f8P8r2X8t126E5S8x6)5Y0I8A2X7$47930I8i955*6{5)2`8Y7H5 7J7m6|6~6`928=8#8I8|6s128v7E7F8)9c122R0U0F0Z0u9r3Z8~9D6#8D9U71818q7W9y5N5P8L9X6*8N8g9k8Q9$775P8U8%7-9K5Z0g9f5s778/9*7_8!8q0r2K1o1/8`879t899:8b989G4s7F8*049e9R470)122ya89*9Tac3Z9w8M9Z8H9#7L7Y6Dal4e6|020!0U0jaD2k0M0I124^at405Paf3G9I9J9z0U0p0/0RaK9V7!3u9h4eaMaO9aaVai0V3#a$9Y7Sa?789p9Q8d77asaA8W7NaQ4na2ay9vb2b08Z040G3A1xaz8BaB120d996.aV9^aXaZ3Aa_6|0Ka(9g7v8o0Da.9Iai9M9Oa|918e04aYa!br120+a_0uan04ap9*86araa9|7vava0b57V8J0vbzbn5N5Y61608JaT13bma*2k5YbC9Pa_0(5G040k1j9m140+5q5l1J570+591A0U5bc92%2Z21232#0T1.c4c75i1G9}3x2R0M0r0V0T0(7 0w0i121s1u1w1y0lb/1J3k1H0E732A0l2`1S1w0$0l0h2e0?0R000g0L8i0B0I0B1:300$0B0$0-0u0U0z0l1/5Vc33x1^1$1(1*co3Zb+0=9m975Qb`9L0.bDb`b|b~8$55c33C0c0g1h0l0s2$1:730I0N6~1Q1L040t2`2Kc:1:c?c(c*c,0U0l1ydB0$1w1T3A2odB0HcEcG1R1Tc@1(1`1)2 575535dcai8,b35A5Ca08;ax8@a50ca7bSbia96M9ud/04bk8w7i7Y9d9|b=3obPbRd#1?bTe36=bVb79We69+d*9CebaCa}3xaFaHaJeh3Za,04aPb9add2bl6Ibw12bIbqem408XeAa+aNepb(aWb*12a;0ZbN8!bra{a_a bgb1eaer4Xb!eeeWeBb8eTbabc1geZe%esbjb/8(a/7AbHbpa#eD2kbsbu9n9z81eHd{eJ04b^bE7#ewe?bJe_9VbMfa3Ke12oaqebeS968C9xe!b49A9!b$3*c25f2Y5k2Y59c10-0/0;0N04.
Méthode moyenne_ponderee

La méthode moyenne_ponderee prend comme unique paramètre un dictionnaire coeffs associant des intitulés de matières (str) à des coefficients (au format int ou float).

Cette fonction calcule la moyenne pondérée de l'élève en appliquant les coefficients fournis en paramètre.

Si l'élève n'a aucune moyenne, la fonction renverra None.

Si l'élève possède une moyenne dans une matière à laquelle n'est associée aucun coefficient dans le dictionnaire coeffs, la fonction générera une erreur de type ValueError.

Écrire la méthode moyenne_ponderee.

Générer une erreur

Il est possible de générer une erreur de type ValueError en utilisant la structure suivante :

if condition_causant_une_erreur:
    raise ValueError("Texte d'explication")

Il existe de nombreux types d'erreurs différents selon le problème rencontré.

Exemple
>>> margaret = Eleve("Margaret", "Hamilton", "Te5")
>>> margaret.modifie_moyenne("études spatiales", 20)
>>> margaret.modifie_moyenne("maths", 14)
>>> coeffs = {"études spatiales": 1, "maths": 0.5}
>>> margaret.moyenne_ponderee(coeffs)
18.0

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

.128013:p(40ed3;N 1E}Vo5_êAn)h]6,qc[yCuvài2+xms7=wlSIatf9{Rrg.*éPkb8/050h0g0W0V0J0S0O0l0C0S0V0O0O0Q010W0J0c010406050O0G0N0N0V0#0E040T0q0S0G120q0v0l020V0N0c0j0l0!0g1c0#0B0G0g0O050.191b1d1f170c041D1K051N0.1N1P1K170h0J0H0`0|0~100x0J0$0x0S1%0x0W15050=0,0S0g1Y0}0 011$1(1*1(0W1:1=1.0W0,0q0h1f1/0#1L0W0x0`1i0O0c0V0v100K011@1!010X0@0g0v1q0g1.2f2h2m1_2p1=2s0N2u040a0l0*0#0q0c0q0O0J1l1n0:2d0#0#0g0C2P1D2w0v1L0.2b2#0W29282a0h2y101*0v2r2M1.1V1X0{1^2/0J2;0v251W1.0c2U1L2Z2#36182g1n2`2n2 0#1c0S150l0m2Y3a16392x3c1_3e3g3i0K3l2h3n2Z2.013s0V3h040l0i3w2!173z3q103C3E0l0e3I3y3a3A3O3i0r3S3K3U3M3B0q3f3D3i0z3Z3o3b1Z3r3(3t3F0P3-3L3:3N3=3*3F0-3_3#3{3%3)3P0Y413p433W040m0f483/2{443?0m3k1E3m3!494h4b0m3v4m3x4o4g3d3}3E0m3H4u3J3.3V4z150m3R4D3T4p4y454I3Y4L4w4G4P4c3,4S4F3$4r3^4Y3`4q4H4c404%424)4V0m474-4N3;4V0K4e4?4x4^3?0K4l364T4!4*0K4t524Z4a554C584(4O4 4K5d4.5f3~0K4R5i4@3|4_4X5o4}5q4 4$5t4U4 4,5y544_4=5C5a4V0i4{5G4/3?0i514n595M3~0i575Q5e4~5T5c3m1M341D2^2(0h2,3A0C252E0/1W1L330g355#4L055.0:5_5p010+153q3S5R2n0R3i655X3N0C150n1=0H0g6a5j1_14040b3Z0l6q0l661_62040:0X6j60683F6z5u2o0N150s0s2}2O6I6D3A6m0d6N3$0,6m0O0g0S6y5{6b016m0A3S6s6!0v155@2 0N6R436$6(6t3N156.6:4h6=4L6)6k6^043q6i6Z706#150w6o4S6r7c6 606T156V6X6{2n0q150%7k3r6,2U6`6~6@017m040Q6?6*7r2=6/7b7d6q7v7g047i6Y386!7x7o75606+047t367e6E7x7z7u7B7U0q7E527G7H6!7J7L7p107P7:3B633:747W7v7Z7A767T736p7+7I6U6W7M5#7O7n7?7T0N0q0E2r2;1C7#767}8j606m0Z0o3Z067c7v6v6x7?6B6s7R6E0v0X158d1V2p0g0s8d8f0v2;7?6P7?7.868O156%8m8B8E0V120g2U8T048V7{7$8K8g7`88766m79827G847h8S8A3A7=8{4!8E8e8-8i7N8:150D8b8Y8!8$8~6;150y7~608l8*7 908L8N4S8s6r8u158w9c4h8y8b8D048,8M8I0:8%6Q9u2n8R7j9G6l8U9g8X9z8Z0J8#8.3x7v8;7a7*836!6v0J873x7X3V999R9b9j9h6B2}9N3A9I9%2!7|8a9K719A8h8%9X4n7+7d9r042U0W0G0#0v9=6S859J949h9{ag9O9~1B8%979|7@9P9a9T9_6!6m9f9o8t9!9s0g9^5 6E9wap8C9l8-0s2N1r1=9E8QaeaD9V78a14va3a59$ac4a0,152BaPap9@7?8}aj9*9z919B938/8n78a!4h7x020$0W0ja`2n0N0J155Ka@6E6maV3Ja3az9k040W0q0=0Sb11_9i3m9)3$b3b58?bca50X3(bk9}8ebx7w9:ab8W9?aRa,aib7a/ala?9U89047Qa.8 040H3D1AbMau95040d8=7Fbca47$bgbibA7x0L7!9.akbzb%btaAa60;a9bDb;a/b+3Db-150.bA0va$04a(ap8Pa*bGapa-bJbSbL8%0w8rbd608vaC8x69aH9yal0s2L0v0:2UataE6O159FbR43a+ca9MbEbS5.aC0XbXcB3$9Wbscm6E9#aDboa#a%2ra)cF4hcHc%7lbIbNbecicI04ckcK43a|a~b0c?4hbq04b6c-a^6ncT9Zbec0bjc{c+7ybAc}c bbb(cY4q15d60scM0XcOc2dad81_dcd38@b_bv0#c59+9Sb-bCbAc)cgc@c,bY7SaJa=a0dtb^76cWdyar9,cAdg7l6B2 0WdB159;dq71dldnc:ba16dfdOcn150#0?6Vc52E0pbV0g0n2Tbwc:cEdF4h0O2k04010U0S0l1c0v1z1?0V0Gea0q2}0_0G3b0qcN0J0C9R0v1-cjdNaXb*bhc1d%7w15b/dDcdc*bldHcQ4adK9 c:aoeG9}9QdAc:axb~3$7x0(dRd)cPaT04eOe23ddz9-e)9L04eUa2d.9qexbidkendmcPdVeH04eDeA80e`d*eP77e%98dSeSf5aweve?dPd;b{aadRd6doc4f1diey0Se_cNcP9pduff046Wd@d+fd7,fwa7b|bA0+6d040k1mcA170.5}5^5$fQ0.5)1D0W5+fV2*2$24262(0V1;fS5)1JeJ4h2U0N0s0X0V0+8I0x0i151v1xed0_d,1M3n1K0F7(2D0l2}1V1z0)0l0h2h0_0S000g0M8#eq0C1?330)0C0)0:es0A0l1=6sfP3A1{1)1+1-f-2n6vfycAe$d,e}106vfEfieAfH15fK9n38fO5/3F0c0g1k0l0t2)1?7(0J0O7Q1T1O040uej0Jgv1?gygogqgs0W0l1Bg}0)1z1W3D2rg}0I0l7ag.2^gz1+1}1,325%gV38fPgE6uaBaS6!aGf5aIa:9m8Icwcy0ggIavcDaQ8_afe-106}eVeK72f3e#hAc;d,fugL61d#cX7vc6c!b}hFf6e1d06EdEh$8|eIhVeLamc:c=hIa{15a}a dbb4c~dMb@cUb fpdob:bn7vdsh}fedJbffpfre{i1h_bri6fCd:04dwdR1casd!04d$h;9HeFhZcfh)cha;eMfb15hPd.aYhU8+eRe,9(7|dXbhioiqi37$e!h|9Ye=hRgNd?dUhVd_d{d}2Jdxe07?e415e7e9ebed0lefehej0lel2deoeqh501euigb)d5i0eAb.i2iJ7-itiwdGbPf8c/iAf7aHe+hzbZe:j78k15eYfnhKfsanjdiHjjd1jldeb(h,i9e^iRj4eCj62!hRf2jseNjuineTdNa5gOhYjmi8fkjF04fmir7qjC3Dibf45QgW5~fR2#f+5(0;0?0^04.

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

.128013:p(40ed3;N 1E}Vo5_êAn)h]6,qc[yCuvài2+xms7=wlSIatf9{Rrg.*éPkb8/050h0g0W0V0J0S0O0l0C0S0V0O0O0Q010W0J0c010406050O0G0N0N0V0#0E040T0q0S0G120q0v0l020V0N0c0j0l0!0g1c0#0B0G0g0O050.191b1d1f170c041D1K051N0.1N1P1K170h0J0H0`0|0~100x0J0$0x0S1%0x0W15050=0,0S0g1Y0}0 011$1(1*1(0W1:1=1.0W0,0q0h1f1/0#1L0W0x0`1i0O0c0V0v100K011@1!010X0@0g0v1q0g1.2f2h2m1_2p1=2s0N2u040a0l0*0#0q0c0q0O0J1l1n0:2d0#0#0g0C2P1D2w0v1L0.2b2#0W29282a0h2y101*0v2r2M1.1V1X0{1^2/0J2;0v251W1.0c2U1L2Z2#36182g1n2`2n2 0#1c0S150l0m2Y3a16392x3c1_3e3g3i0K3l2h3n2Z2.013s0V3h040l0i3w2!173z3q103C3E0l0e3I3y3a3A3O3i0r3S3K3U3M3B0q3f3D3i0z3Z3o3b1Z3r3(3t3F0P3-3L3:3N3=3*3F0-3_3#3{3%3)3P0Y413p433W040m0f483/2{443?0m3k1E3m3!494h4b0m3v4m3x4o4g3d3}3E0m3H4u3J3.3V4z150m3R4D3T4p4y454I3Y4L4w4G4P4c3,4S4F3$4r3^4Y3`4q4H4c404%424)4V0m474-4N3;4V0K4e4?4x4^3?0K4l364T4!4*0K4t524Z4a554C584(4O4 4K5d4.5f3~0K4R5i4@3|4_4X5o4}5q4 4$5t4U4 4,5y544_4=5C5a4V0i4{5G4/3?0i514n595M3~0i575Q5e4~5T5c3m1M341D2^2(0h2,3A0C252E0/1W1L330g355#4L055.0:5_5p010+153q3S5R2n0R3i655X3N0C150n1=0H0g6a5j1_14040b3Z0l6q0l661_62040:0X6j60683F6z5u2o0N150s0s2}2O6I6D3A6m0d6N3$0,6m0O0g0S6y5{6b016m0A3S6s6!0v155@2 0N6R436$6(6t3N156.6:4h6=4L6)6k6^043q6i6Z706#150w6o4S6r7c6 606T156V6X6{2n0q150%7k3r6,2U6`6~6@017m040Q6?6*7r2=6/7b7d6q7v7g047i6Y386!7x7o75606+047t367e6E7x7z7u7B7U0q7E527G7H6!7J7L7p107P7:3B633:747W7v7Z7A767T736p7+7I6U6W7M5#7O7n7?7T0N0q0E2r2;1C7#767}8j606m0Z0o3Z067c7v6v6x7?6B6s7R6E0v0X158d1V2p0g0s8d8f0v2;7?6P7?7.868O156%8m8B8E0V120g2U8T048V7{7$8K8g7`88766m79827G847h8S8A3A7=8{4!8E8e8-8i7N8:150D8b8Y8!8$8~6;150y7~608l8*7 908L8N4S8s6r8u158w9c4h8y8b8D048,8M8I0:8%6Q9u2n8R7j9G6l8U9g8X9z8Z0J8#8.3x7v8;7a7*836!6v0J873x7X3V999R9b9j9h6B2}9N3A9I9%2!7|8a9K719A8h8%9X4n7+7d9r042U0W0G0#0v9=6S859J949h9{ag9O9~1B8%979|7@9P9a9T9_6!6m9f9o8t9!9s0g9^5 6E9wap8C9l8-0s2N1r1=9E8QaeaD9V78a14va3a59$ac4a0,152BaPap9@7?8}aj9*9z919B938/8n78a!4h7x020$0W0ja`2n0N0J155Ka@6E6maV3Ja3az9k040W0q0=0Sb11_9i3m9)3$b3b58?bca50X3(bk9}8ebx7w9:ab8W9?aRa,aib7a/ala?9U89047Qa.8 040H3D1AbMau95040d8=7Fbca47$bgbibA7x0L7!9.akbzb%btaAa60;a9bDb;a/b+3Db-150.bA0va$04a(ap8Pa*bGapa-bJbSbL8%0w8rbd608vaC8x69aH9yal0s2L0v0:2UataE6O159FbR43a+ca9MbEbS5.aC0XbXcB3$9Wbscm6E9#aDboa#a%2ra)cF4hcHc%7lbIbNbecicI04ckcK43a|a~b0c?4hbq04b6c-a^6ncT9Zbec0bjc{c+7ybAc}c bbb(cY4q15d60scM0XcOc2dad81_dcd38@b_bv0#c59+9Sb-bCbAc)cgc@c,bY7SaJa=a0dtb^76cWdyar9,cAdg7l6B2 0WdB159;dq71dldnc:ba16dfdOcn150#0?6Vc52E0pbV0g0n2Tbwc:cEdF4h0O2k04010U0S0l1c0v1z1?0V0Gea0q2}0_0G3b0qcN0J0C9R0v1-cjdNaXb*bhc1d%7w15b/dDcdc*bldHcQ4adK9 c:aoeG9}9QdAc:axb~3$7x0(dRd)cPaT04eOe23ddz9-e)9L04eUa2d.9qexbidkendmcPdVeH04eDeA80e`d*eP77e%98dSeSf5aweve?dPd;b{aadRd6doc4f1diey0Se_cNcP9pduff046Wd@d+fd7,fwa7b|bA0+6d040k1mcA170.5}5^5$fQ0.5)1D0W5+fV2*2$24262(0V1;fS5)1JeJ4h2U0N0s0X0V0+8I0x0i151v1xed0_d,1M3n1K0F7(2D0l2}1V1z0)0l0h2h0_0S000g0M8#eq0C1?330)0C0)0:es0A0l1=6sfP3A1{1)1+1-f-2n6vfycAe$d,e}106vfEfieAfH15fK9n38fO5/3F0c0g1k0l0t2)1?7(0J0O7Q1T1O040uej0Jgv1?gygogqgs0W0l1Bg}0)1z1W3D2rg}0I0l7ag.2^gz1+1}1,325%gV38fPgE6uaBaS6!aGf5aIa:9m8Icwcy0ggIavcDaQ8_afe-106}eVeK72f3e#hAc;d,fugL61d#cX7vc6c!b}hFf6e1d06EdEh$8|eIhVeLamc:c=hIa{15a}a dbb4c~dMb@cUb fpdob:bn7vdsh}fedJbffpfre{i1h_bri6fCd:04dwdR1casd!04d$h;9HeFhZcfh)cha;eMfb15hPd.aYhU8+eRe,9(7|dXbhioiqi37$e!h|9Ye=hRgNd?dUhVd_d{d}2Jdxe07?e415e7e9ebed0lefehej0lel2deoeqh501euigb)d5i0eAb.i2iJ7-itiwdGbPf8c/iAf7aHe+hzbZe:j78k15eYfnhKfsanjdiHjjd1jldeb(h,i9e^iRj4eCj62!hRf2jseNjuineTdNa5gOhYjmi8fkjF04fmir7qjC3Dibf45QgW5~fR2#f+5(0;0?0^04.