É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

.1280135tf4{)}2r3,sao iugm1P6pnElh.e=cy:v(wS/b_dk050P0D0c0n0q0A0m0p0F0A0n0m0m0E010c0q0x010406050m0r0t0t0n0j0G040L0o0A0r0+0o0y050M0=0@0_0{0:0x04141b051e0M1e1g1b0:0P0q0I0Z0#0%0)0B0q0s0B0A1u0B0c0.050U0N0A0D1p0$0(011t1v1x1v0c1D1F1B0c0N0o0P0{1C0j1c0c0B0Z0~0m0x0n0y0)0i011H1r010d0W0D0y0n0t0D1B1)1+1:1J1?1F1_1{0.0a0p0v0j0o0x0o0m0q110y0p0S1%0j0j0D0F2g141~0y1c0M1#2t0c1Z1Y1!0P200)1x0y1^2d1B1m1o0!1I2D0q2F0y1V1n1B0x2m1c2r2t2X0;1*2h2L1;2Q0j0^0A0.0u2q2#0/2!1 2%1J2)2+0.0i2/1+2;2r2C012_0n2,040k2}2s0:302@0)33350e382 2#313e0.0b3h3a3j3c320o2*340.0w3h1d2V142J2w0P2A310F1V1|1c3C1f3A2Z152:053H0S2W3q1q1J0Q0.2@3y3b3W0)0K0.0p3#3V2M320F0.0z1F0I0D3,2?3%010-040H3o0p413+3$3.3Y040S0d3_2$3{3)043+3P2~2=4b3.0d0t0.0O0O2O2f4o4a313}0J4t3r0N3}0m0D0A494g2s4i4u0.0l3h433-2(0.2U2G0t4x3{3}4K4F4e4H3r0y0.2Q4S4X4Z4U4J4L4*3.4#042@3^4)441;3}0g3 4X06424 4M3`3.4z0.4B4D4T3.0o0.0C584O044Q4%4-4^1J5a040E5i4N2^4P2m5h4}50424.1;5404564E2Z5j0)5l5c4@5p3d4$0o4(2X514j1;5l5n4X5P3k5L5N2:4~5v5V4y4A4C5C3Q5E015G5d5q4;3W4?5O5x5k0.5T5@5,4:4=405#5^0)5z5B5/5F5b66320.0t0o0G1^2F0m5o525R5`6i5Q1J3}0f0h3o143S0D2t4Q2t3L2u3E142x2w1U1W2w0n1E6v3B1n2;0M0S0U0W0m04.

###(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

.1280135tf4{)}2r3,sao iugm1P6pnElh.e=cy:v(wS/b_dk050P0D0c0n0q0A0m0p0F0A0n0m0m0E010c0q0x010406050m0r0t0t0n0j0G040L0o0A0r0+0o0y050M0=0@0_0{0:0x04141b051e0M1e1g1b0:0P0q0I0Z0#0%0)0B0q0s0B0A1u0B0c0.050U0N0A0D1p0$0(011t1v1x1v0c1D1F1B0c0N0o0P0{1C0j1c0c0B0Z0~0m0x0n0y0)0i011H1r010d0W0D0y0n0t0D1B1)1+1:1J1?1F1_1{0.0a0p0v0j0o0x0o0m0q110y0p0S1%0j0j0D0F2g141~0y1c0M1#2t0c1Z1Y1!0P200)1x0y1^2d1B1m1o0!1I2D0q2F0y1V1n1B0x2m1c2r2t2X0;1*2h2L1;2Q0j0^0A0.0u2q2#0/2!1 2%1J2)2+0.0i2/1+2;2r2C012_0n2,040k2}2s0:302@0)33350e382 2#313e0.0b3h3a3j3c320o2*340.0w3h1d2V142J2w0P2A310F1V1|1c3C1f3A2Z152:053H0S2W3q1q1J0Q0.2@3y3b3W0)0K0.0p3#3V2M320F0.0z1F0I0D3,2?3%010-040H3o0p413+3$3.3Y040S0d3_2$3{3)043+3P2~2=4b3.0d0t0.0O0O2O2f4o4a313}0J4t3r0N3}0m0D0A494g2s4i4u0.0l3h433-2(0.2U2G0t4x3{3}4K4F4e4H3r0y0.2Q4S4X4Z4U4J4L4*3.4#042@3^4)441;3}0g3 4X06424 4M3`3.4z0.4B4D4T3.0o0.0C584O044Q4%4-4^1J5a040E5i4N2^4P2m5h4}50424.1;5404564E2Z5j0)5l5c4@5p3d4$0o4(2X514j1;5l5n4X5P3k5L5N2:4~5v5V4y4A4C5C3Q5E015G5d5q4;3W4?5O5x5k0.5T5@5,4:4=405#5^0)5z5B5/5F5b66320.0t0o0G1^2F0m5o525R5`6i5Q1J3}0f0h3o143S0D2t4Q2t3L2u3E142x2w1U1W2w0n1E6v3B1n2;0M0S0U0W0m04.
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

.1280135[tf4{)}2r3,sao iug8m1]P6pnEl7h.e=cy:v9(wS/b_dk050U0H0d0o0r0D0n0q0J0D0o0n0n0I010d0r0A010406050n0s0v0v0o0k0K040Q0p0D0s0:0p0B050R0`0|0~100^0A04191g051j0R1j1l1g0^0U0r0M0(0*0,0.0F0r0t0F0D1z0F0d0?050Z0S0D0H1u0+0-011y1A1C1A0d1I1K1G0d0S0p0U101H0k1h0d0F0(130n0A0o0B0.0j011M1w010e0#0H0B0o0v0H1G1.1:1^1O1{1K1~200?0a0q0y0k0p0A0p0n0r160B0q0X1,0k0k0H0J2l19230B1h0R1*2y0d1(1%1)0U250.1C0B1}2i1G1r1t0)1N2I0r2K0B1!1s1G0A2r1h2w2y2$0_1/2m2Q1_2V0k0}0D0?0w2v2*0@2)242,1O2.2:0?0j2@1:2_2w2H012~0o2;040l322x0^352|0.383a0f3d342*363j0?0b3m3f3o3h370p2/390?0z3t2`2+1v2}3y2 040E3D3g3G3i3I3A040u3M3v3O3x3z3a0N3m1i2!192O2B0U2F360J1!211h3)1k3%2(1a2^053.0X2#3V2R010V0?2|3#3N400P0?0q453 2-0J0?0C1K0M0H4b2{3W0=040L3t0q4r4a461_42040X0e4k3F47494A360e0v0?0T0T2T2k4J4E3w4n0O4O3W0S4n0n0H0D4z3_333E364n0m3m4t4c2}0?2Z2L0v4S404(4*4$3w0B0?2V4;4!2x4_4m0?4)4 044+4l404{042|4j55514?0?0h4p55064s5m574B1_4U0?4W4Y4=1_0p0?0G5v4-044/4}4^4u1O5x040I5F4,3i4.2r5E5k5n4s5f5q4V4X4Z2(5G0.5I5z5e5!374|0p4~2$5o365I5K555/4`5+5-2^5l5S5@4T5W5u5(5M015$5A5N5b3G5d5.5U5H0?5=6b5)5a5c4q5}6c0.5r045t5Y3`5)6562582-0?0v0p0K1}2K0n5L6w6d5J6F5p1O4n0g0i3t5|4r6m410?4y660148566W0B0e6y2W1{0H0T6z6B0B2K6W4Q6W6o6q6:536J3p6y0o0:0H2r6^04546g635a6,6C6a6s634n5i6k5S6S6?5X6W6u5Z756%6-6D710c6!6|6~706v6K0.4n0x6`3w5;7B3W766A783D0R3|0H2y4/2y3=2z3+192C2B1Z1#2B0o1J7M3(1s2_0R0X0Z0#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

.1280135[tf4{)}2r3,sao iug8m1]P6pnEl7h.e=cy:v9(wS/b_dk050U0H0d0o0r0D0n0q0J0D0o0n0n0I010d0r0A010406050n0s0v0v0o0k0K040Q0p0D0s0:0p0B050R0`0|0~100^0A04191g051j0R1j1l1g0^0U0r0M0(0*0,0.0F0r0t0F0D1z0F0d0?050Z0S0D0H1u0+0-011y1A1C1A0d1I1K1G0d0S0p0U101H0k1h0d0F0(130n0A0o0B0.0j011M1w010e0#0H0B0o0v0H1G1.1:1^1O1{1K1~200?0a0q0y0k0p0A0p0n0r160B0q0X1,0k0k0H0J2l19230B1h0R1*2y0d1(1%1)0U250.1C0B1}2i1G1r1t0)1N2I0r2K0B1!1s1G0A2r1h2w2y2$0_1/2m2Q1_2V0k0}0D0?0w2v2*0@2)242,1O2.2:0?0j2@1:2_2w2H012~0o2;040l322x0^352|0.383a0f3d342*363j0?0b3m3f3o3h370p2/390?0z3t2`2+1v2}3y2 040E3D3g3G3i3I3A040u3M3v3O3x3z3a0N3m1i2!192O2B0U2F360J1!211h3)1k3%2(1a2^053.0X2#3V2R010V0?2|3#3N400P0?0q453 2-0J0?0C1K0M0H4b2{3W0=040L3t0q4r4a461_42040X0e4k3F47494A360e0v0?0T0T2T2k4J4E3w4n0O4O3W0S4n0n0H0D4z3_333E364n0m3m4t4c2}0?2Z2L0v4S404(4*4$3w0B0?2V4;4!2x4_4m0?4)4 044+4l404{042|4j55514?0?0h4p55064s5m574B1_4U0?4W4Y4=1_0p0?0G5v4-044/4}4^4u1O5x040I5F4,3i4.2r5E5k5n4s5f5q4V4X4Z2(5G0.5I5z5e5!374|0p4~2$5o365I5K555/4`5+5-2^5l5S5@4T5W5u5(5M015$5A5N5b3G5d5.5U5H0?5=6b5)5a5c4q5}6c0.5r045t5Y3`5)6562582-0?0v0p0K1}2K0n5L6w6d5J6F5p1O4n0g0i3t5|4r6m410?4y660148566W0B0e6y2W1{0H0T6z6B0B2K6W4Q6W6o6q6:536J3p6y0o0:0H2r6^04546g635a6,6C6a6s634n5i6k5S6S6?5X6W6u5Z756%6-6D710c6!6|6~706v6K0.4n0x6`3w5;7B3W766A783D0R3|0H2y4/2y3=2z3+192C2B1Z1#2B0o1J7M3(1s2_0R0X0Z0#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

.1280135[tf4{)}2rR3,sao iug08m1]P6pNnEl7h.e=céy:v9êA(wq;S/b_dk050$0K0d0p0s0G0o0r0M0G0p0o0o0L010d0s0C010406050o0t0x0x0p0k0O040Y0q0G0t0{0q0E0r020p0x0C0X0r0l0K150k0W0t0K0o050Z12141618100C041w1D051G0Z1G1I1D100$0s0Q0:0=0@0_0I0s0u0I0G1W0I0d0~050+0!0G0K1R0?0^011V1X1Z1X0d1)1+1%0d0!0q0$181(0k1E0d0I0:1b0o0C0p0E0_0j011-1T010e0-0K0E1j0K1%282a2f1/2i1+2l0x2n040a0r0A0k0q0C0q0o0s1e1g0)260k0k0K0M2I1w2p0E1E0Z242U0d2221230$2r0_1Z0E2k2F1%1O1Q0;1.2(0s2*0E1~1P1%0C2N1E2S2U2 11291g2:2g2^0k150G0~0r0y2R330 322q351/37393b0j3e2a3g2S2%013l0p3a040r0m3p2T103s3j0_3v3x0r0f3B3r333t3H3b0b3L3D3N3F3u0q383w3b0B3S3h341S3k3X3m3y0H3$3E3)3G3+3Z3y0w3/3U3;3W3Y3I0R3`3i3|3P040y0v413(2;3}3,0y3d1x3f3T424a440y3o4f3q4h49363?3x0y3A4n3C3%3O4s0~0y3K4w3M4i4r3~4B3R4E1F2}1w2.2X0$2#3t0M1~2x0(1P1E2|0K2~3f3L054U0)4$4G1/0%0~3j4(3:4a0V3b4=3{4j0M0~0F1+0Q0K4`4-0_0}040P3S0r5a0r4y3V4/040)0e534q1/4^3y5j3t0e0x0~0#0#2?2H5t5o3V560U5y3|0!560o0K0G5i4L4?2g560n3L5c5L3k0~4!2^0x5C4a5N5P5d430~5V5X5M0~5O4E5Q4{364:3)525K5/1/560h584E065b5 5.54015E0~5G5I5)1/0q0~0J683G5T2N5(5-5#4a6a040L5!5R6e045U0q5W5}605b6j2g6404665J316p016l6c5@620E5%6t6o5^0_6l6n6i6F6L046h2 5~6w615k0_6A6C6d6G6b6*6V3j5?2 6#3t6R6O6K5;1.6:4g6!6=3V6(5H6D4%6F6H6-0~0x0q0O2k2*1v6T6P6+6m6^6$01560g0i3S6Z5a6y4.0~5h6*5m5c6J7k0E0e782_2i0K0#797b0E2*6*5A6*71677z3t5Z7f6_04150{0K2N7M5+7j3O7D7J7L7R5z0~5{596!7s6%5F726*767,5$7W7a7c1u7#040c777W0p7Y7!7{5Y0~0z7%3V6@7U7A7)7 7p5 7=015f7v892g7x6-7C7}7*7G0)815B8q1/7P733q8m7T6;8m6V7X0s7Z6|8F6F5`5|6Y6~8m5f0s8E2T6 7|8L8N8d3|0q5m2?8(4a8D7_6,8B6q7I7 7e6E7g568S6}6~6x6F5f2N0d0t0k0E8-6z7@7Q8`627`9c8h8v8^81838=3u78868M889f7S8b7:6w8V0~5H5G818}4o8 907g920*95978g3t0%4}040D1f8O4x0Z4*4#4M9V0Z4P1w0d4R9!2Z2V1}1 2X0p1*9X4P1C4,7k2N0x0#0e0p0%7G0I0m0~1o1q1s1u0r9B2T1F3g1D9P0d1f0o0n0r1s002k2A0O241faf0t2*0r0e1f2P0s1f0r0o2a0/4)4V3t1;1Y1!1$9=9L0~939I4(9T4V3y6g0Q0q8M0r290k0r0$0N9`1d5c9UaD1!1?1#2o9F9N9P7+31aO4+6I1M1H040T2?2G0r1+262K2|0N0M0N0)0E0daV0q950k0,b90S2Y1,b40k2Haxaza 1,aB2K3VaEa+aH9w049y9R2U9U3y1s0sax7Zbe0r0u0N0k0N0r0s1k1Z0M2H1p2kb95|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

.1280135[tf4{)}2rR3,sao iug08m1]P6pNnEl7h.e=céy:v9êA(wq;S/b_dk050$0K0d0p0s0G0o0r0M0G0p0o0o0L010d0s0C010406050o0t0x0x0p0k0O040Y0q0G0t0{0q0E0r020p0x0C0X0r0l0K150k0W0t0K0o050Z12141618100C041w1D051G0Z1G1I1D100$0s0Q0:0=0@0_0I0s0u0I0G1W0I0d0~050+0!0G0K1R0?0^011V1X1Z1X0d1)1+1%0d0!0q0$181(0k1E0d0I0:1b0o0C0p0E0_0j011-1T010e0-0K0E1j0K1%282a2f1/2i1+2l0x2n040a0r0A0k0q0C0q0o0s1e1g0)260k0k0K0M2I1w2p0E1E0Z242U0d2221230$2r0_1Z0E2k2F1%1O1Q0;1.2(0s2*0E1~1P1%0C2N1E2S2U2 11291g2:2g2^0k150G0~0r0y2R330 322q351/37393b0j3e2a3g2S2%013l0p3a040r0m3p2T103s3j0_3v3x0r0f3B3r333t3H3b0b3L3D3N3F3u0q383w3b0B3S3h341S3k3X3m3y0H3$3E3)3G3+3Z3y0w3/3U3;3W3Y3I0R3`3i3|3P040y0v413(2;3}3,0y3d1x3f3T424a440y3o4f3q4h49363?3x0y3A4n3C3%3O4s0~0y3K4w3M4i4r3~4B3R4E1F2}1w2.2X0$2#3t0M1~2x0(1P1E2|0K2~3f3L054U0)4$4G1/0%0~3j4(3:4a0V3b4=3{4j0M0~0F1+0Q0K4`4-0_0}040P3S0r5a0r4y3V4/040)0e534q1/4^3y5j3t0e0x0~0#0#2?2H5t5o3V560U5y3|0!560o0K0G5i4L4?2g560n3L5c5L3k0~4!2^0x5C4a5N5P5d430~5V5X5M0~5O4E5Q4{364:3)525K5/1/560h584E065b5 5.54015E0~5G5I5)1/0q0~0J683G5T2N5(5-5#4a6a040L5!5R6e045U0q5W5}605b6j2g6404665J316p016l6c5@620E5%6t6o5^0_6l6n6i6F6L046h2 5~6w615k0_6A6C6d6G6b6*6V3j5?2 6#3t6R6O6K5;1.6:4g6!6=3V6(5H6D4%6F6H6-0~0x0q0O2k2*1v6T6P6+6m6^6$01560g0i3S6Z5a6y4.0~5h6*5m5c6J7k0E0e782_2i0K0#797b0E2*6*5A6*71677z3t5Z7f6_04150{0K2N7M5+7j3O7D7J7L7R5z0~5{596!7s6%5F726*767,5$7W7a7c1u7#040c777W0p7Y7!7{5Y0~0z7%3V6@7U7A7)7 7p5 7=015f7v892g7x6-7C7}7*7G0)815B8q1/7P733q8m7T6;8m6V7X0s7Z6|8F6F5`5|6Y6~8m5f0s8E2T6 7|8L8N8d3|0q5m2?8(4a8D7_6,8B6q7I7 7e6E7g568S6}6~6x6F5f2N0d0t0k0E8-6z7@7Q8`627`9c8h8v8^81838=3u78868M889f7S8b7:6w8V0~5H5G818}4o8 907g920*95978g3t0%4}040D1f8O4x0Z4*4#4M9V0Z4P1w0d4R9!2Z2V1}1 2X0p1*9X4P1C4,7k2N0x0#0e0p0%7G0I0m0~1o1q1s1u0r9B2T1F3g1D9P0d1f0o0n0r1s002k2A0O241faf0t2*0r0e1f2P0s1f0r0o2a0/4)4V3t1;1Y1!1$9=9L0~939I4(9T4V3y6g0Q0q8M0r290k0r0$0N9`1d5c9UaD1!1?1#2o9F9N9P7+31aO4+6I1M1H040T2?2G0r1+262K2|0N0M0N0)0E0daV0q950k0,b90S2Y1,b40k2Haxaza 1,aB2K3VaEa+aH9w049y9R2U9U3y1s0sax7Zbe0r0u0N0k0N0r0s1k1Z0M2H1p2kb95|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

.1280135[4})2R,a ià8m16Cl7.e:9A;S/dktf{+r3sogu0x]PpNnEh=céyvê(wq_b050C0v0E0j0l0s0K0k0Y0s0j0K0K0X010E0l0S010406050K0N0o0o0j0I0!040A0L0s0N0 0L0U0k020j0o0S0z0k0h0v190I0)0N0v0K050B16181a1c140S041A1H051K0B1K1M1H140C0l0#0@0_0{0}0W0l0M0W0s1!0W0E12050/0+0s0v1V0`0|011Z1#1%1#0E1-1/1+0E0+0L0C1c1,0I1I0E0W0@1f0K0S0j0U0}0g011;1X010F0;0v0U1n0v1+2c2e2j1?2m1/2p0o2r040a0k0R0I0L0S0L0K0l1i1k0-2a0I0I0v0Y2M1A2t0U1I0B282Y0E2625270C2v0}1%0U2o2J1+1S1U0^1=2,0l2.0U221T1+0S2R1I2W2Y33152d1k2@2k2|0I190s120k0p2V3713362u391?3b3d3f0g3i2e3k2W2+013p0j3e040k0J3t2X143w3n0}3z3B0k0d3F3v373x3L3f0b3P3H3R3J3y0L3c3A3f0q3W3l381W3o3#3q3C0t3*3I3-3K3/3%3C0n3?3Y3^3!3$3M0x3~3m403T040p0O453,2^413:0p3h1B3j3X464e480p3s4j3u4l4d3a3`3B0p3E4r3G3+3S4w120p3O4A3Q4m4v424F3V4I4t4D4M493)4P4C3Z4o3=4V3@4n4E493}4!3 4$4S0p444*4K3.4S0g4b4:4u4=3:0g4i334Q4X4%0g4q351N311A2=2#0C2)3x0Y222B0,1T1I300v323j3P055e0-5m4;0}0D123n5o4#2k0(3f5y4+3a0Y120V1/0#0v5D5t0111040w3W0k5T0k4W405v040-0F5M4`0}5B3C5$3x0F0o120*0*2`2L5:5+3Z5P0%5^400+5P0K0v0s5#4I5W4e5P0i3P5V5z3o125k2|0o5|6612684I6a5E6c046f6h2k6769653a5w3-5L646b0}5P0f5R4P5U6H6m5N5~1260626r1?0L120u6P3K6d2R6q6l6v6Q120X6u6B3y6W2/6g6G6I5T6!0}6L046N63356)6R046T6A6n6V6p0L6-336J5%016|6%6Z6)0U126Y4 6/6:6)6?6^6U786S7m7d043n6z756;7n047a7u7c6x1=7t4k7h763x7k616_5n6{7o6 5N7q0o0L0!2o2.1z7b707w7y3j7G5_120G0e3W066H7v5Y5!7m5)5V7O770U0F127R1S2m0v0*7R7T0U2.7m5`7m7I6O7@3x6t7X7P7{0j0 0v2R856j6(7Y7Q7S7U7D3u7v6D6F7g7h7v887K8s7M6}7p7{8p831y8k040c8E04198h8j8a7%040Q8m5N798V7^8F82844P7,5U7.127:8R407=7p7`8N8G2.0*0-8J5{8-4e8z8J6k7z8n8f8P8r2X8t126E5S8x6)5Y0l8A2X7$47930l8i955*6{5)2`8Y7H5 7J7m6|6~6`928=8#8I8|6s128v7E7F8)9c122R0E0N0I0U9r3Z8~9D6#8D9U71818q7W9y5N5P8L9X6*8N8g9k8Q9$775P8U8%7-9K5Z0v9f5s778/9*7_8!8q0*2K1o1/8`879t899:8b989G4s7F8*049e9R470+122ya89*9Tac3Z9w8M9Z8H9#7L7Y6Dal4e6|020M0E0zaD2k0o0l124^at405Paf3G9I9J9z0E0L0/0saK9V7!3u9h4eaMaO9aaVai0F3#a$9Y7Sa?789p9Q8d77asaA8W7NaQ4na2ay9vb2b08Z040#3A1xaz8BaB120%996.aV9^aXaZ3Aa_6|0Ha(9g7v8o0!a.9Iai9M9Oa|918e04aYa!br120Ba_0Uan04ap9*86araa9|7vava0b57V8J0fbzbn5N5Y61608JaT13bma*2k5YbC9Pa_0D5G040T1j9m140B5q5l1J570B591A0E5bc92%2Z21232#0j1.c4c75i1G9}3x2R0o0*0F0j0D7 0W0J121s1u1w1y0kb/1J3k1H0r732A0k2`1S1w0Z0k0C2e0?0s000v0P8i0Y0l0Y1:300Z0Y0Z0-0U0E0i0k1/5Vc33x1^1$1(1*co3Zb+0=9m975Qb`9L0.bDb`b|b~8$55c33C0S0v1h0k0$2$1:730l0K6~1Q1L040y2`2Kc:1:c?c(c*c,0E0k1ydB0Z1w1T3A2odB0mcEcG1R1Tc@1(1`1)2 575535dcai8,b35A5Ca08;ax8@a50Sa7bSbia96M9ud/04bk8w7i7Y9d9|b=3obPbRd#1?bTe36=bVb79We69+d*9CebaCa}3xaFaHaJeh3Za,04aPb9add2bl6Ibw12bIbqem408XeAa+aNepb(aWb*12a;0IbN8!bra{a_a bgb1eaer4Xb!eeeWeBb8eTbabc1geZe%esbjb/8(a/7AbHbpa#eD2kbsbu9n9z81eHd{eJ04b^bE7#ewe?bJe_9VbMfa3Ke12oaqebeS968C9xe!b49A9!b$3*c25f2Y5k2Y59c10-0/0;0K04.

###(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

.1280135[4})2R,a ià8m16Cl7.e:9A;S/dktf{+r3sogu0x]PpNnEh=céyvê(wq_b050C0v0E0j0l0s0K0k0Y0s0j0K0K0X010E0l0S010406050K0N0o0o0j0I0!040A0L0s0N0 0L0U0k020j0o0S0z0k0h0v190I0)0N0v0K050B16181a1c140S041A1H051K0B1K1M1H140C0l0#0@0_0{0}0W0l0M0W0s1!0W0E12050/0+0s0v1V0`0|011Z1#1%1#0E1-1/1+0E0+0L0C1c1,0I1I0E0W0@1f0K0S0j0U0}0g011;1X010F0;0v0U1n0v1+2c2e2j1?2m1/2p0o2r040a0k0R0I0L0S0L0K0l1i1k0-2a0I0I0v0Y2M1A2t0U1I0B282Y0E2625270C2v0}1%0U2o2J1+1S1U0^1=2,0l2.0U221T1+0S2R1I2W2Y33152d1k2@2k2|0I190s120k0p2V3713362u391?3b3d3f0g3i2e3k2W2+013p0j3e040k0J3t2X143w3n0}3z3B0k0d3F3v373x3L3f0b3P3H3R3J3y0L3c3A3f0q3W3l381W3o3#3q3C0t3*3I3-3K3/3%3C0n3?3Y3^3!3$3M0x3~3m403T040p0O453,2^413:0p3h1B3j3X464e480p3s4j3u4l4d3a3`3B0p3E4r3G3+3S4w120p3O4A3Q4m4v424F3V4I4t4D4M493)4P4C3Z4o3=4V3@4n4E493}4!3 4$4S0p444*4K3.4S0g4b4:4u4=3:0g4i334Q4X4%0g4q351N311A2=2#0C2)3x0Y222B0,1T1I300v323j3P055e0-5m4;0}0D123n5o4#2k0(3f5y4+3a0Y120V1/0#0v5D5t0111040w3W0k5T0k4W405v040-0F5M4`0}5B3C5$3x0F0o120*0*2`2L5:5+3Z5P0%5^400+5P0K0v0s5#4I5W4e5P0i3P5V5z3o125k2|0o5|6612684I6a5E6c046f6h2k6769653a5w3-5L646b0}5P0f5R4P5U6H6m5N5~1260626r1?0L120u6P3K6d2R6q6l6v6Q120X6u6B3y6W2/6g6G6I5T6!0}6L046N63356)6R046T6A6n6V6p0L6-336J5%016|6%6Z6)0U126Y4 6/6:6)6?6^6U786S7m7d043n6z756;7n047a7u7c6x1=7t4k7h763x7k616_5n6{7o6 5N7q0o0L0!2o2.1z7b707w7y3j7G5_120G0e3W066H7v5Y5!7m5)5V7O770U0F127R1S2m0v0*7R7T0U2.7m5`7m7I6O7@3x6t7X7P7{0j0 0v2R856j6(7Y7Q7S7U7D3u7v6D6F7g7h7v887K8s7M6}7p7{8p831y8k040c8E04198h8j8a7%040Q8m5N798V7^8F82844P7,5U7.127:8R407=7p7`8N8G2.0*0-8J5{8-4e8z8J6k7z8n8f8P8r2X8t126E5S8x6)5Y0l8A2X7$47930l8i955*6{5)2`8Y7H5 7J7m6|6~6`928=8#8I8|6s128v7E7F8)9c122R0E0N0I0U9r3Z8~9D6#8D9U71818q7W9y5N5P8L9X6*8N8g9k8Q9$775P8U8%7-9K5Z0v9f5s778/9*7_8!8q0*2K1o1/8`879t899:8b989G4s7F8*049e9R470+122ya89*9Tac3Z9w8M9Z8H9#7L7Y6Dal4e6|020M0E0zaD2k0o0l124^at405Paf3G9I9J9z0E0L0/0saK9V7!3u9h4eaMaO9aaVai0F3#a$9Y7Sa?789p9Q8d77asaA8W7NaQ4na2ay9vb2b08Z040#3A1xaz8BaB120%996.aV9^aXaZ3Aa_6|0Ha(9g7v8o0!a.9Iai9M9Oa|918e04aYa!br120Ba_0Uan04ap9*86araa9|7vava0b57V8J0fbzbn5N5Y61608JaT13bma*2k5YbC9Pa_0D5G040T1j9m140B5q5l1J570B591A0E5bc92%2Z21232#0j1.c4c75i1G9}3x2R0o0*0F0j0D7 0W0J121s1u1w1y0kb/1J3k1H0r732A0k2`1S1w0Z0k0C2e0?0s000v0P8i0Y0l0Y1:300Z0Y0Z0-0U0E0i0k1/5Vc33x1^1$1(1*co3Zb+0=9m975Qb`9L0.bDb`b|b~8$55c33C0S0v1h0k0$2$1:730l0K6~1Q1L040y2`2Kc:1:c?c(c*c,0E0k1ydB0Z1w1T3A2odB0mcEcG1R1Tc@1(1`1)2 575535dcai8,b35A5Ca08;ax8@a50Sa7bSbia96M9ud/04bk8w7i7Y9d9|b=3obPbRd#1?bTe36=bVb79We69+d*9CebaCa}3xaFaHaJeh3Za,04aPb9add2bl6Ibw12bIbqem408XeAa+aNepb(aWb*12a;0IbN8!bra{a_a bgb1eaer4Xb!eeeWeBb8eTbabc1geZe%esbjb/8(a/7AbHbpa#eD2kbsbu9n9z81eHd{eJ04b^bE7#ewe?bJe_9VbMfa3Ke12oaqebeS968C9xe!b49A9!b$3*c25f2Y5k2Y59c10-0/0;0K04.
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

.1280135[4})2R,a iVà8m16Cl7.e:9A;S/dktf{+Ir3sogu0x]Pp*NnEh=céyvê(wq_b050D0w0F0j0l0t0M0k0#0t0j0M0M0!010F0l0U010406050M0P0p0p0j0K0%040B0N0t0P120N0X0k020j0p0U0A0k0h0w1c0K0,0P0w0M050C191b1d1f170U041D1K051N0C1N1P1K170D0l0(0`0|0~100Z0l0O0Z0t1%0Z0F15050=0.0t0w1Y0}0 011$1(1*1(0F1:1=1.0F0.0N0D1f1/0K1L0F0Z0`1i0M0U0j0X100g011@1!010G0@0w0X1q0w1.2f2h2m1_2p1=2s0p2u040a0k0T0K0N0U0N0M0l1l1n0:2d0K0K0w0#2P1D2w0X1L0C2b2#0F29282a0D2y101*0X2r2M1.1V1X0{1^2/0l2;0X251W1.0U2U1L2Z2#36182g1n2`2n2 0K1c0t150k0q2Y3a16392x3c1_3e3g3i0g3l2h3n2Z2.013s0j3h040k0L3w2!173z3q103C3E0k0d3I3y3a3A3O3i0b3S3K3U3M3B0N3f3D3i0r3Z3o3b1Z3r3(3t3F0u3-3L3:3N3=3*3F0o3_3#3{3%3)3P0y413p433W040q0Q483/2{443?0q3k1E3m3!494h4b0q3v4m3x4o4g3d3}3E0q3H4u3J3.3V4z150q3R4D3T4p4y454I3Y4L4w4G4P4c3,4S4F3$4r3^4Y3`4q4H4c404%424)4V0q474-4N3;4V0g4e4?4x4^3?0g4l364T4!4*0g4t524Z4a554C584(4O4 4K5d4.5f3~0g4R5i4@3|4_4X5o4}5q4 4$5t4U4 4,5y544_4=5C5a4V0L4{5G4/3?0L514n595M3~0L575Q5e4~5T5c3m1M341D2^2(0D2,3A0#252E0/1W1L330w355#4L055.0:5_5p010E153q3S5R2n0+3i655X3N0#150Y1=0(0w6a5j1_14040x3Z0k6q0k661_62040:0G6j60683F6z5u2o0p150-0-2}2O6I6D3A6m0*6N3$0.6m0M0w0t6y5{6b016m0i3S6s6!0X155@2 0p6R436$6(6t3N156.6:4h6=4L6)6k6^043q6i6Z706#150f6o4S6r7c6 606T156V6X6{2n0N150v7k3r6,2U6`6~6@017m040!6?6*7r2=6/7b7d6q7v7g047i6Y386!7x7o75606+047t367e6E7x7z7u7B7U0N7E527G7H6!7J7L7p107P7:3B633:747W7v7Z7A767T736p7+7I6U6W7M5#7O7n7?7T0p0N0%2r2;1C7#767}8j606m0H0e3Z067c7v6v6x7?6B6s7R6E0X0G158d1V2p0w0-8d8f0X2;7?6P7?7.868O156%8m8B8E0j120w2U8T048V7{7$8K8g7`88766m79827G847h8S8A3A7=8{4!8E8e8-8i7N8:150c8b8Y8!8$8~6;150S7~608l8*7 908L8N4S8s6r8u158w9c4h8y8b8D048,8M8I0:8%6Q9u2n8R7j9G6l8U9g8X9z8Z0l8#8.3x7v8;7a7*836!6v0l873x7X3V999R9b9j9h6B2}9N3A9I9%2!7|8a9K719A8h8%9X4n7+7d9r042U0F0P0K0X9=6S859J949h9{ag9O9~1B8%979|7@9P9a9T9_6!6m9f9o8t9!9s0w9^5 6E9wap8C9l8-0-2N1r1=9E8QaeaD9V78a14va3a59$ac4a0.152BaPap9@7?8}aj9*9z919B938/8n78a!4h7x020O0F0Aa`2n0p0l155Ka@6E6maV3Ja3az9k040F0N0=0tb11_9i3m9)3$b3b58?bca50G3(bk9}8ebx7w9:ab8W9?aRa,aib7a/ala?9U89047Qa.8 040(3D1AbMau95040*8=7Fbca47$bgbibA7x0I7!9.akbzb%btaAa60;a9bDb;a/b+3Db-150CbA0Xa$04a(ap8Pa*bGapa-bJbSbL8%0f8rbd608vaC8x69aH9yal0-2L0X0:2UataE6O159FbR43a+ca9MbEbS5.aC0GbXcB3$9Wbscm6E9#aDboa#a%2ra)cF4hcHc%7lbIbNbecicI04ckcK43a|a~b0c?4hbq04b6c-a^6ncT9Zbec0bjc{c+7ybAc}c bbb(cY4q15d60-cM0GcOc2dad81_dcd38@b_bv0Kc59+9Sb-bCbAc)cgc@c,bY7SaJa=a0dtb^76cWdyar9,cAdg7l6B2 0FdB159;dq71dldnc:ba16dfdOcn150K0?6Vc52E0mbV0w0Y2Tbwc:cEdF4h0M2k04010J0t0k1c0X1z1?0j0Pea0N2}0_0P3b0NcN0l0#9R0X1-cjdNaXb*bhc1d%7w15b/dDcdc*bldHcQ4adK9 c:aoeG9}9QdAc:axb~3$7x0VdRd)cPaT04eOe23ddz9-e)9L04eUa2d.9qexbidkendmcPdVeH04eDeA80e`d*eP77e%98dSeSf5aweve?dPd;b{aadRd6doc4f1diey0te_cNcP9pduff046Wd@d+fd7,fwa7b|bA0E6d040W1mcA170C5}5^5$fQ0C5)1D0F5+fV2*2$24262(0j1;fS5)1JeJ4h2U0p0-0G0j0E8I0Z0L151v1xed0_d,1M3n1K0s7(2D0k2}1V1z0$0k0D2h0_0t000w0R8#eq0#1?330$0#0$0:es0i0k1=6sfP3A1{1)1+1-f-2n6vfycAe$d,e}106vfEfieAfH15fK9n38fO5/3F0U0w1k0k0)2)1?7(0l0M7Q1T1O040zej0lgv1?gygogqgs0F0k1Bg}0$1z1W3D2rg}0n0k7ag.2^gz1+1}1,325%gV38fPgE6uaBaS6!aGf5aIa:9m8Icwcy0wgIavcDaQ8_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?e415e7e9ebed0kefehej0kel2deoeqh501euigb)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

.1280135[4})2R,a iVà8m16Cl7.e:9A;S/dktf{+Ir3sogu0x]Pp*NnEh=céyvê(wq_b050D0w0F0j0l0t0M0k0#0t0j0M0M0!010F0l0U010406050M0P0p0p0j0K0%040B0N0t0P120N0X0k020j0p0U0A0k0h0w1c0K0,0P0w0M050C191b1d1f170U041D1K051N0C1N1P1K170D0l0(0`0|0~100Z0l0O0Z0t1%0Z0F15050=0.0t0w1Y0}0 011$1(1*1(0F1:1=1.0F0.0N0D1f1/0K1L0F0Z0`1i0M0U0j0X100g011@1!010G0@0w0X1q0w1.2f2h2m1_2p1=2s0p2u040a0k0T0K0N0U0N0M0l1l1n0:2d0K0K0w0#2P1D2w0X1L0C2b2#0F29282a0D2y101*0X2r2M1.1V1X0{1^2/0l2;0X251W1.0U2U1L2Z2#36182g1n2`2n2 0K1c0t150k0q2Y3a16392x3c1_3e3g3i0g3l2h3n2Z2.013s0j3h040k0L3w2!173z3q103C3E0k0d3I3y3a3A3O3i0b3S3K3U3M3B0N3f3D3i0r3Z3o3b1Z3r3(3t3F0u3-3L3:3N3=3*3F0o3_3#3{3%3)3P0y413p433W040q0Q483/2{443?0q3k1E3m3!494h4b0q3v4m3x4o4g3d3}3E0q3H4u3J3.3V4z150q3R4D3T4p4y454I3Y4L4w4G4P4c3,4S4F3$4r3^4Y3`4q4H4c404%424)4V0q474-4N3;4V0g4e4?4x4^3?0g4l364T4!4*0g4t524Z4a554C584(4O4 4K5d4.5f3~0g4R5i4@3|4_4X5o4}5q4 4$5t4U4 4,5y544_4=5C5a4V0L4{5G4/3?0L514n595M3~0L575Q5e4~5T5c3m1M341D2^2(0D2,3A0#252E0/1W1L330w355#4L055.0:5_5p010E153q3S5R2n0+3i655X3N0#150Y1=0(0w6a5j1_14040x3Z0k6q0k661_62040:0G6j60683F6z5u2o0p150-0-2}2O6I6D3A6m0*6N3$0.6m0M0w0t6y5{6b016m0i3S6s6!0X155@2 0p6R436$6(6t3N156.6:4h6=4L6)6k6^043q6i6Z706#150f6o4S6r7c6 606T156V6X6{2n0N150v7k3r6,2U6`6~6@017m040!6?6*7r2=6/7b7d6q7v7g047i6Y386!7x7o75606+047t367e6E7x7z7u7B7U0N7E527G7H6!7J7L7p107P7:3B633:747W7v7Z7A767T736p7+7I6U6W7M5#7O7n7?7T0p0N0%2r2;1C7#767}8j606m0H0e3Z067c7v6v6x7?6B6s7R6E0X0G158d1V2p0w0-8d8f0X2;7?6P7?7.868O156%8m8B8E0j120w2U8T048V7{7$8K8g7`88766m79827G847h8S8A3A7=8{4!8E8e8-8i7N8:150c8b8Y8!8$8~6;150S7~608l8*7 908L8N4S8s6r8u158w9c4h8y8b8D048,8M8I0:8%6Q9u2n8R7j9G6l8U9g8X9z8Z0l8#8.3x7v8;7a7*836!6v0l873x7X3V999R9b9j9h6B2}9N3A9I9%2!7|8a9K719A8h8%9X4n7+7d9r042U0F0P0K0X9=6S859J949h9{ag9O9~1B8%979|7@9P9a9T9_6!6m9f9o8t9!9s0w9^5 6E9wap8C9l8-0-2N1r1=9E8QaeaD9V78a14va3a59$ac4a0.152BaPap9@7?8}aj9*9z919B938/8n78a!4h7x020O0F0Aa`2n0p0l155Ka@6E6maV3Ja3az9k040F0N0=0tb11_9i3m9)3$b3b58?bca50G3(bk9}8ebx7w9:ab8W9?aRa,aib7a/ala?9U89047Qa.8 040(3D1AbMau95040*8=7Fbca47$bgbibA7x0I7!9.akbzb%btaAa60;a9bDb;a/b+3Db-150CbA0Xa$04a(ap8Pa*bGapa-bJbSbL8%0f8rbd608vaC8x69aH9yal0-2L0X0:2UataE6O159FbR43a+ca9MbEbS5.aC0GbXcB3$9Wbscm6E9#aDboa#a%2ra)cF4hcHc%7lbIbNbecicI04ckcK43a|a~b0c?4hbq04b6c-a^6ncT9Zbec0bjc{c+7ybAc}c bbb(cY4q15d60-cM0GcOc2dad81_dcd38@b_bv0Kc59+9Sb-bCbAc)cgc@c,bY7SaJa=a0dtb^76cWdyar9,cAdg7l6B2 0FdB159;dq71dldnc:ba16dfdOcn150K0?6Vc52E0mbV0w0Y2Tbwc:cEdF4h0M2k04010J0t0k1c0X1z1?0j0Pea0N2}0_0P3b0NcN0l0#9R0X1-cjdNaXb*bhc1d%7w15b/dDcdc*bldHcQ4adK9 c:aoeG9}9QdAc:axb~3$7x0VdRd)cPaT04eOe23ddz9-e)9L04eUa2d.9qexbidkendmcPdVeH04eDeA80e`d*eP77e%98dSeSf5aweve?dPd;b{aadRd6doc4f1diey0te_cNcP9pduff046Wd@d+fd7,fwa7b|bA0E6d040W1mcA170C5}5^5$fQ0C5)1D0F5+fV2*2$24262(0j1;fS5)1JeJ4h2U0p0-0G0j0E8I0Z0L151v1xed0_d,1M3n1K0s7(2D0k2}1V1z0$0k0D2h0_0t000w0R8#eq0#1?330$0#0$0:es0i0k1=6sfP3A1{1)1+1-f-2n6vfycAe$d,e}106vfEfieAfH15fK9n38fO5/3F0U0w1k0k0)2)1?7(0l0M7Q1T1O040zej0lgv1?gygogqgs0F0k1Bg}0$1z1W3D2rg}0n0k7ag.2^gz1+1}1,325%gV38fPgE6uaBaS6!aGf5aIa:9m8Icwcy0wgIavcDaQ8_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?e415e7e9ebed0kefehej0kel2deoeqh501euigb)d5i0eAb.i2iJ7-itiwdGbPf8c/iAf7aHe+hzbZe:j78k15eYfnhKfsanjdiHjjd1jldeb(h,i9e^iRj4eCj62!hRf2jseNjuineTdNa5gOhYjmi8fkjF04fmir7qjC3Dibf45QgW5~fR2#f+5(0;0?0^04.