É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

.128013nimwgyk2Po, 5}6ual4t/sbrvceE.3)fh{:1S=_dp(050O0B0u0r0c0s0w0m0A0s0r0w0w0M010u0c0P010406050w0q0d0d0r0y0g040L0k0s0q0+0k0b050v0=0@0_0{0:0P04141b051e0v1e1g1b0:0O0c0z0Z0#0%0)0H0c0f0H0s1u0H0u0.050U0x0s0B1p0$0(011t1v1x1v0u1D1F1B0u0x0k0O0{1C0y1c0u0H0Z0~0w0P0r0b0)0i011H1r010G0W0B0b0r0d0B1B1)1+1:1J1?1F1_1{0.0a0m0j0y0k0P0k0w0c110b0m0S1%0y0y0B0A2g141~0b1c0v1#2t0u1Z1Y1!0O200)1x0b1^2d1B1m1o0!1I2D0c2F0b1V1n1B0P2m1c2r2t2X0;1*2h2L1;2Q0y0^0s0.0K2q2#0/2!1 2%1J2)2+0.0i2/1+2;2r2C012_0r2,040E2}2s0:302@0)33350t382 2#313e0.0n3h3a3j3c320k2*340.0p3h1d2V142J2w0O2A310A1V1|1c3C1f3A2Z152:053H0S2W3q1q1J0h0.2@3y3b3W0)0e0.0m3#3V2M320A0.0C1F0z0B3,2?3%010-040J3o0m413+3$3.3Y040S0G3_2$3{3)043+3P2~2=4b3.0G0d0.0N0N2O2f4o4a313}0Q4t3r0x3}0w0B0s494g2s4i4u0.0l3h433-2(0.2U2G0d4x3{3}4K4F4e4H3r0b0.2Q4S4X4Z4U4J4L4*3.4#042@3^4)441;3}0F3 4X06424 4M3`3.4z0.4B4D4T3.0k0.0D584O044Q4%4-4^1J5a040M5i4N2^4P2m5h4}50424.1;5404564E2Z5j0)5l5c4@5p3d4$0k4(2X514j1;5l5n4X5P3k5L5N2:4~5v5V4y4A4C5C3Q5E015G5d5q4;3W4?5O5x5k0.5T5@5,4:4=405#5^0)5z5B5/5F5b66320.0d0k0g1^2F0w5o525R5`6i5Q1J3}0I0o3o143S0B2t4Q2t3L2u3E142x2w1U1W2w0r1E6v3B1n2;0v0S0U0W0w04.

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

.128013nimwgyk2Po, 5}6ual4t/sbrvceE.3)fh{:1S=_dp(050O0B0u0r0c0s0w0m0A0s0r0w0w0M010u0c0P010406050w0q0d0d0r0y0g040L0k0s0q0+0k0b050v0=0@0_0{0:0P04141b051e0v1e1g1b0:0O0c0z0Z0#0%0)0H0c0f0H0s1u0H0u0.050U0x0s0B1p0$0(011t1v1x1v0u1D1F1B0u0x0k0O0{1C0y1c0u0H0Z0~0w0P0r0b0)0i011H1r010G0W0B0b0r0d0B1B1)1+1:1J1?1F1_1{0.0a0m0j0y0k0P0k0w0c110b0m0S1%0y0y0B0A2g141~0b1c0v1#2t0u1Z1Y1!0O200)1x0b1^2d1B1m1o0!1I2D0c2F0b1V1n1B0P2m1c2r2t2X0;1*2h2L1;2Q0y0^0s0.0K2q2#0/2!1 2%1J2)2+0.0i2/1+2;2r2C012_0r2,040E2}2s0:302@0)33350t382 2#313e0.0n3h3a3j3c320k2*340.0p3h1d2V142J2w0O2A310A1V1|1c3C1f3A2Z152:053H0S2W3q1q1J0h0.2@3y3b3W0)0e0.0m3#3V2M320A0.0C1F0z0B3,2?3%010-040J3o0m413+3$3.3Y040S0G3_2$3{3)043+3P2~2=4b3.0G0d0.0N0N2O2f4o4a313}0Q4t3r0x3}0w0B0s494g2s4i4u0.0l3h433-2(0.2U2G0d4x3{3}4K4F4e4H3r0b0.2Q4S4X4Z4U4J4L4*3.4#042@3^4)441;3}0F3 4X06424 4M3`3.4z0.4B4D4T3.0k0.0D584O044Q4%4-4^1J5a040M5i4N2^4P2m5h4}50424.1;5404564E2Z5j0)5l5c4@5p3d4$0k4(2X514j1;5l5n4X5P3k5L5N2:4~5v5V4y4A4C5C3Q5E015G5d5q4;3W4?5O5x5k0.5T5@5,4:4=405#5^0)5z5B5/5F5b66320.0d0k0g1^2F0w5o525R5`6i5Q1J3}0I0o3o143S0B2t4Q2t3L2u3E142x2w1U1W2w0r1E6v3B1n2;0v0S0U0W0w04.
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

.128013nimwgyk2Po, 5}6]ual84t/sbr[vceE.3)fh{:1S=97_dp(050T0E0w0s0c0t0y0m0D0t0s0y0y0P010w0c0U010406050y0r0d0d0s0A0g040O0k0t0r0:0k0b050x0`0|0~100^0U04191g051j0x1j1l1g0^0T0c0C0(0*0,0.0K0c0f0K0t1z0K0w0?050Z0z0t0E1u0+0-011y1A1C1A0w1I1K1G0w0z0k0T101H0A1h0w0K0(130y0U0s0b0.0i011M1w010J0#0E0b0s0d0E1G1.1:1^1O1{1K1~200?0a0m0j0A0k0U0k0y0c160b0m0X1,0A0A0E0D2l19230b1h0x1*2y0w1(1%1)0T250.1C0b1}2i1G1r1t0)1N2I0c2K0b1!1s1G0U2r1h2w2y2$0_1/2m2Q1_2V0A0}0t0?0N2v2*0@2)242,1O2.2:0?0i2@1:2_2w2H012~0s2;040H322x0^352|0.383a0v3d342*363j0?0n3m3f3o3h370k2/390?0p3t2`2+1v2}3y2 040R3D3g3G3i3I3A040u3M3v3O3x3z3a0Q3m1i2!192O2B0T2F360D1!211h3)1k3%2(1a2^053.0X2#3V2R010h0?2|3#3N400e0?0m453 2-0D0?0F1K0C0E4b2{3W0=040M3t0m4r4a461_42040X0J4k3F47494A360J0d0?0S0S2T2k4J4E3w4n0V4O3W0z4n0y0E0t4z3_333E364n0l3m4t4c2}0?2Z2L0d4S404(4*4$3w0b0?2V4;4!2x4_4m0?4)4 044+4l404{042|4j55514?0?0I4p55064s5m574B1_4U0?4W4Y4=1_0k0?0G5v4-044/4}4^4u1O5x040P5F4,3i4.2r5E5k5n4s5f5q4V4X4Z2(5G0.5I5z5e5!374|0k4~2$5o365I5K555/4`5+5-2^5l5S5@4T5W5u5(5M015$5A5N5b3G5d5.5U5H0?5=6b5)5a5c4q5}6c0.5r045t5Y3`5)6562582-0?0d0k0g1}2K0y5L6w6d5J6F5p1O4n0L0o3t5|4r6m410?4y660148566W0b0J6y2W1{0E0S6z6B0b2K6W4Q6W6o6q6:536J3p6y0s0:0E2r6^04546g635a6,6C6a6s634n5i6k5S6S6?5X6W6u5Z756%6-6D710B6!6|6~706v6K0.4n0q6`3w5;7B3W766A783D0x3|0E2y4/2y3=2z3+192C2B1Z1#2B0s1J7M3(1s2_0x0X0Z0#0y04.

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

.128013nimwgyk2Po, 5}6]ual84t/sbr[vceE.3)fh{:1S=97_dp(050T0E0w0s0c0t0y0m0D0t0s0y0y0P010w0c0U010406050y0r0d0d0s0A0g040O0k0t0r0:0k0b050x0`0|0~100^0U04191g051j0x1j1l1g0^0T0c0C0(0*0,0.0K0c0f0K0t1z0K0w0?050Z0z0t0E1u0+0-011y1A1C1A0w1I1K1G0w0z0k0T101H0A1h0w0K0(130y0U0s0b0.0i011M1w010J0#0E0b0s0d0E1G1.1:1^1O1{1K1~200?0a0m0j0A0k0U0k0y0c160b0m0X1,0A0A0E0D2l19230b1h0x1*2y0w1(1%1)0T250.1C0b1}2i1G1r1t0)1N2I0c2K0b1!1s1G0U2r1h2w2y2$0_1/2m2Q1_2V0A0}0t0?0N2v2*0@2)242,1O2.2:0?0i2@1:2_2w2H012~0s2;040H322x0^352|0.383a0v3d342*363j0?0n3m3f3o3h370k2/390?0p3t2`2+1v2}3y2 040R3D3g3G3i3I3A040u3M3v3O3x3z3a0Q3m1i2!192O2B0T2F360D1!211h3)1k3%2(1a2^053.0X2#3V2R010h0?2|3#3N400e0?0m453 2-0D0?0F1K0C0E4b2{3W0=040M3t0m4r4a461_42040X0J4k3F47494A360J0d0?0S0S2T2k4J4E3w4n0V4O3W0z4n0y0E0t4z3_333E364n0l3m4t4c2}0?2Z2L0d4S404(4*4$3w0b0?2V4;4!2x4_4m0?4)4 044+4l404{042|4j55514?0?0I4p55064s5m574B1_4U0?4W4Y4=1_0k0?0G5v4-044/4}4^4u1O5x040P5F4,3i4.2r5E5k5n4s5f5q4V4X4Z2(5G0.5I5z5e5!374|0k4~2$5o365I5K555/4`5+5-2^5l5S5@4T5W5u5(5M015$5A5N5b3G5d5.5U5H0?5=6b5)5a5c4q5}6c0.5r045t5Y3`5)6562582-0?0d0k0g1}2K0y5L6w6d5J6F5p1O4n0L0o3t5|4r6m410?4y660148566W0b0J6y2W1{0E0S6z6B0b2K6W4Q6W6o6q6:536J3p6y0s0:0E2r6^04546g635a6,6C6a6s634n5i6k5S6S6?5X6W6u5Z756%6-6D710B6!6|6~706v6K0.4n0q6`3w5;7B3W766A783D0x3|0E2y4/2y3=2z3+192C2B1Z1#2B0s1J7M3(1s2_0x0X0Z0#0y04.
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

.128013nimwgyk02P;o, 5}6]uRal84t/sbr[vceE.N3)Afh{:1S=ê9é7_dqp(050!0H0z0v0c0w0B0o0G0w0v0B0B0U010z0c0$010406050B0t0d0d0v0D0g040T0m0w0t0{0m0b0o020v0d0$0l0o0u0H150D0#0t0H0B050A12141618100$041w1D051G0A1G1I1D100!0c0F0:0=0@0_0P0c0f0P0w1W0P0z0~050+0C0w0H1R0?0^011V1X1Z1X0z1)1+1%0z0C0m0!181(0D1E0z0P0:1b0B0$0v0b0_0j011-1T010O0-0H0b1j0H1%282a2f1/2i1+2l0d2n040a0o0k0D0m0$0m0B0c1e1g0)260D0D0H0G2I1w2p0b1E0A242U0z2221230!2r0_1Z0b2k2F1%1O1Q0;1.2(0c2*0b1~1P1%0$2N1E2S2U2 11291g2:2g2^0D150w0~0o0S2R330 322q351/37393b0j3e2a3g2S2%013l0v3a040o0L3p2T103s3j0_3v3x0o0y3B3r333t3H3b0p3L3D3N3F3u0m383w3b0r3S3h341S3k3X3m3y0Y3$3E3)3G3+3Z3y0x3/3U3;3W3Y3I0W3`3i3|3P040S0i413(2;3}3,0S3d1x3f3T424a440S3o4f3q4h49363?3x0S3A4n3C3%3O4s0~0S3K4w3M4i4r3~4B3R4E1F2}1w2.2X0!2#3t0G1~2x0(1P1E2|0H2~3f3L054U0)4$4G1/0h0~3j4(3:4a0e3b4=3{4j0G0~0I1+0F0H4`4-0_0}040R3S0o5a0o4y3V4/040)0O534q1/4^3y5j3t0O0d0~0Z0Z2?2H5t5o3V560%5y3|0C560B0H0w5i4L4?2g560n3L5c5L3k0~4!2^0d5C4a5N5P5d430~5V5X5M0~5O4E5Q4{364:3)525K5/1/560M584E065b5 5.54015E0~5G5I5)1/0m0~0J683G5T2N5(5-5#4a6a040U5!5R6e045U0m5W5}605b6j2g6404665J316p016l6c5@620b5%6t6o5^0_6l6n6i6F6L046h2 5~6w615k0_6A6C6d6G6b6*6V3j5?2 6#3t6R6O6K5;1.6:4g6!6=3V6(5H6D4%6F6H6-0~0d0m0g2k2*1v6T6P6+6m6^6$01560Q0q3S6Z5a6y4.0~5h6*5m5c6J7k0b0O782_2i0H0Z797b0b2*6*5A6*71677z3t5Z7f6_04150{0H2N7M5+7j3O7D7J7L7R5z0~5{596!7s6%5F726*767,5$7W7a7c1u7#040E777W0v7Y7!7{5Y0~0s7%3V6@7U7A7)7 7p5 7=015f7v892g7x6-7C7}7*7G0)815B8q1/7P733q8m7T6;8m6V7X0c7Z6|8F6F5`5|6Y6~8m5f0c8E2T6 7|8L8N8d3|0m5m2?8(4a8D7_6,8B6q7I7 7e6E7g568S6}6~6x6F5f2N0z0t0D0b8-6z7@7Q8`627`9c8h8v8^81838=3u78868M889f7S8b7:6w8V0~5H5G818}4o8 907g920*95978g3t0h4}040K1f8O4x0A4*4#4M9V0A4P1w0z4R9!2Z2V1}1 2X0v1*9X4P1C4,7k2N0d0Z0O0v0h7G0P0L0~1o1q1s1u0o9B2T1F3g1D9P0z1f0B0n0o1s002k2A0g241faf0t2*0o0O1f2P0c1f0o0B2a0/4)4V3t1;1Y1!1$9=9L0~939I4(9T4V3y6g0F0m8M0o290D0o0!0X9`1d5c9UaD1!1?1#2o9F9N9P7+31aO4+6I1M1H040N2?2G0o1+262K2|0X0G0X0)0b0zaV0m950D0,b90V2Y1,b40D2Haxaza 1,aB2K3VaEa+aH9w049y9R2U9U3y1s0cax7Zbe0o0f0X0D0X0o0c1k1Z0G2H1p2kb95|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

.128013nimwgyk02P;o, 5}6]uRal84t/sbr[vceE.N3)Afh{:1S=ê9é7_dqp(050!0H0z0v0c0w0B0o0G0w0v0B0B0U010z0c0$010406050B0t0d0d0v0D0g040T0m0w0t0{0m0b0o020v0d0$0l0o0u0H150D0#0t0H0B050A12141618100$041w1D051G0A1G1I1D100!0c0F0:0=0@0_0P0c0f0P0w1W0P0z0~050+0C0w0H1R0?0^011V1X1Z1X0z1)1+1%0z0C0m0!181(0D1E0z0P0:1b0B0$0v0b0_0j011-1T010O0-0H0b1j0H1%282a2f1/2i1+2l0d2n040a0o0k0D0m0$0m0B0c1e1g0)260D0D0H0G2I1w2p0b1E0A242U0z2221230!2r0_1Z0b2k2F1%1O1Q0;1.2(0c2*0b1~1P1%0$2N1E2S2U2 11291g2:2g2^0D150w0~0o0S2R330 322q351/37393b0j3e2a3g2S2%013l0v3a040o0L3p2T103s3j0_3v3x0o0y3B3r333t3H3b0p3L3D3N3F3u0m383w3b0r3S3h341S3k3X3m3y0Y3$3E3)3G3+3Z3y0x3/3U3;3W3Y3I0W3`3i3|3P040S0i413(2;3}3,0S3d1x3f3T424a440S3o4f3q4h49363?3x0S3A4n3C3%3O4s0~0S3K4w3M4i4r3~4B3R4E1F2}1w2.2X0!2#3t0G1~2x0(1P1E2|0H2~3f3L054U0)4$4G1/0h0~3j4(3:4a0e3b4=3{4j0G0~0I1+0F0H4`4-0_0}040R3S0o5a0o4y3V4/040)0O534q1/4^3y5j3t0O0d0~0Z0Z2?2H5t5o3V560%5y3|0C560B0H0w5i4L4?2g560n3L5c5L3k0~4!2^0d5C4a5N5P5d430~5V5X5M0~5O4E5Q4{364:3)525K5/1/560M584E065b5 5.54015E0~5G5I5)1/0m0~0J683G5T2N5(5-5#4a6a040U5!5R6e045U0m5W5}605b6j2g6404665J316p016l6c5@620b5%6t6o5^0_6l6n6i6F6L046h2 5~6w615k0_6A6C6d6G6b6*6V3j5?2 6#3t6R6O6K5;1.6:4g6!6=3V6(5H6D4%6F6H6-0~0d0m0g2k2*1v6T6P6+6m6^6$01560Q0q3S6Z5a6y4.0~5h6*5m5c6J7k0b0O782_2i0H0Z797b0b2*6*5A6*71677z3t5Z7f6_04150{0H2N7M5+7j3O7D7J7L7R5z0~5{596!7s6%5F726*767,5$7W7a7c1u7#040E777W0v7Y7!7{5Y0~0s7%3V6@7U7A7)7 7p5 7=015f7v892g7x6-7C7}7*7G0)815B8q1/7P733q8m7T6;8m6V7X0c7Z6|8F6F5`5|6Y6~8m5f0c8E2T6 7|8L8N8d3|0m5m2?8(4a8D7_6,8B6q7I7 7e6E7g568S6}6~6x6F5f2N0z0t0D0b8-6z7@7Q8`627`9c8h8v8^81838=3u78868M889f7S8b7:6w8V0~5H5G818}4o8 907g920*95978g3t0h4}040K1f8O4x0A4*4#4M9V0A4P1w0z4R9!2Z2V1}1 2X0v1*9X4P1C4,7k2N0d0Z0O0v0h7G0P0L0~1o1q1s1u0o9B2T1F3g1D9P0z1f0B0n0o1s002k2A0g241faf0t2*0o0O1f2P0c1f0o0B2a0/4)4V3t1;1Y1!1$9=9L0~939I4(9T4V3y6g0F0m8M0o290D0o0!0X9`1d5c9UaD1!1?1#2o9F9N9P7+31aO4+6I1M1H040N2?2G0o1+262K2|0X0G0X0)0b0zaV0m950D0,b90V2Y1,b40D2Haxaza 1,aB2K3VaEa+aH9w049y9R2U9U3y1s0cax7Zbe0o0f0X0D0X0o0c1k1Z0G2H1p2kb95|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

.128013nmwgPoC,}6]uRa8bsr[vce1S9_d(xiyk02; 5à+l4t/E.3)Afh{:=êé7qNp050B0w0Q0o0E0O0r0K0v0O0o0r0r0#010Q0E0+010406050r0m0c0c0o0s0F040y0g0O0m0 0g0b0K020o0c0+0J0K0n0w190s0)0m0w0r050R16181a1c140+041A1H051K0R1K1M1H140B0E0u0@0_0{0}0Y0E0e0Y0O1!0Y0Q12050/0q0O0w1V0`0|011Z1#1%1#0Q1-1/1+0Q0q0g0B1c1,0s1I0Q0Y0@1f0r0+0o0b0}0I011;1X010X0;0w0b1n0w1+2c2e2j1?2m1/2p0c2r040a0K0f0s0g0+0g0r0E1i1k0-2a0s0s0w0v2M1A2t0b1I0R282Y0Q2625270B2v0}1%0b2o2J1+1S1U0^1=2,0E2.0b221T1+0+2R1I2W2Y33152d1k2@2k2|0s190O120K0x2V3713362u391?3b3d3f0I3i2e3k2W2+013p0o3e040K0U3t2X143w3n0}3z3B0K0P3F3v373x3L3f0L3P3H3R3J3y0g3c3A3f0k3W3l381W3o3#3q3C0(3*3I3-3K3/3%3C0p3?3Y3^3!3$3M0z3~3m403T040x0H453,2^413:0x3h1B3j3X464e480x3s4j3u4l4d3a3`3B0x3E4r3G3+3S4w120x3O4A3Q4m4v424F3V4I4t4D4M493)4P4C3Z4o3=4V3@4n4E493}4!3 4$4S0x444*4K3.4S0I4b4:4u4=3:0I4i334Q4X4%0I4q351N311A2=2#0B2)3x0v222B0,1T1I300w323j3P055e0-5m4;0}0G123n5o4#2k0d3f5y4+3a0v120S1/0u0w5D5t0111040!3W0K5T0K4W405v040-0X5M4`0}5B3C5$3x0X0c120A0A2`2L5:5+3Z5P0C5^400q5P0r0w0O5#4I5W4e5P0i3P5V5z3o125k2|0c5|6612684I6a5E6c046f6h2k6769653a5w3-5L646b0}5P0V5R4P5U6H6m5N5~1260626r1?0g120T6P3K6d2R6q6l6v6Q120#6u6B3y6W2/6g6G6I5T6!0}6L046N63356)6R046T6A6n6V6p0g6-336J5%016|6%6Z6)0b126Y4 6/6:6)6?6^6U786S7m7d043n6z756;7n047a7u7c6x1=7t4k7h763x7k616_5n6{7o6 5N7q0c0g0F2o2.1z7b707w7y3j7G5_120Z0j3W066H7v5Y5!7m5)5V7O770b0X127R1S2m0w0A7R7T0b2.7m5`7m7I6O7@3x6t7X7P7{0o0 0w2R856j6(7Y7Q7S7U7D3u7v6D6F7g7h7v887K8s7M6}7p7{8p831y8k040t8E04198h8j8a7%040l8m5N798V7^8F82844P7,5U7.127:8R407=7p7`8N8G2.0A0-8J5{8-4e8z8J6k7z8n8f8P8r2X8t126E5S8x6)5Y0E8A2X7$47930E8i955*6{5)2`8Y7H5 7J7m6|6~6`928=8#8I8|6s128v7E7F8)9c122R0Q0m0s0b9r3Z8~9D6#8D9U71818q7W9y5N5P8L9X6*8N8g9k8Q9$775P8U8%7-9K5Z0w9f5s778/9*7_8!8q0A2K1o1/8`879t899:8b989G4s7F8*049e9R470q122ya89*9Tac3Z9w8M9Z8H9#7L7Y6Dal4e6|020e0Q0JaD2k0c0E124^at405Paf3G9I9J9z0Q0g0/0OaK9V7!3u9h4eaMaO9aaVai0X3#a$9Y7Sa?789p9Q8d77asaA8W7NaQ4na2ay9vb2b08Z040u3A1xaz8BaB120C996.aV9^aXaZ3Aa_6|0Na(9g7v8o0Fa.9Iai9M9Oa|918e04aYa!br120Ra_0ban04ap9*86araa9|7vava0b57V8J0Vbzbn5N5Y61608JaT13bma*2k5YbC9Pa_0G5G040*1j9m140R5q5l1J570R591A0Q5bc92%2Z21232#0o1.c4c75i1G9}3x2R0c0A0X0o0G7 0Y0U121s1u1w1y0Kb/1J3k1H0h732A0K2`1S1w0%0K0B2e0?0O000w0D8i0v0E0v1:300%0v0%0-0b0Q0i0K1/5Vc33x1^1$1(1*co3Zb+0=9m975Qb`9L0.bDb`b|b~8$55c33C0+0w1h0K0$2$1:730E0r6~1Q1L040W2`2Kc:1:c?c(c*c,0Q0K1ydB0%1w1T3A2odB0McEcG1R1Tc@1(1`1)2 575535dcai8,b35A5Ca08;ax8@a50+a7bSbia96M9ud/04bk8w7i7Y9d9|b=3obPbRd#1?bTe36=bVb79We69+d*9CebaCa}3xaFaHaJeh3Za,04aPb9add2bl6Ibw12bIbqem408XeAa+aNepb(aWb*12a;0sbN8!bra{a_a bgb1eaer4Xb!eeeWeBb8eTbabc1geZe%esbjb/8(a/7AbHbpa#eD2kbsbu9n9z81eHd{eJ04b^bE7#ewe?bJe_9VbMfa3Ke12oaqebeS968C9xe!b49A9!b$3*c25f2Y5k2Y59c10-0/0;0r04.

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

.128013nmwgPoC,}6]uRa8bsr[vce1S9_d(xiyk02; 5à+l4t/E.3)Afh{:=êé7qNp050B0w0Q0o0E0O0r0K0v0O0o0r0r0#010Q0E0+010406050r0m0c0c0o0s0F040y0g0O0m0 0g0b0K020o0c0+0J0K0n0w190s0)0m0w0r050R16181a1c140+041A1H051K0R1K1M1H140B0E0u0@0_0{0}0Y0E0e0Y0O1!0Y0Q12050/0q0O0w1V0`0|011Z1#1%1#0Q1-1/1+0Q0q0g0B1c1,0s1I0Q0Y0@1f0r0+0o0b0}0I011;1X010X0;0w0b1n0w1+2c2e2j1?2m1/2p0c2r040a0K0f0s0g0+0g0r0E1i1k0-2a0s0s0w0v2M1A2t0b1I0R282Y0Q2625270B2v0}1%0b2o2J1+1S1U0^1=2,0E2.0b221T1+0+2R1I2W2Y33152d1k2@2k2|0s190O120K0x2V3713362u391?3b3d3f0I3i2e3k2W2+013p0o3e040K0U3t2X143w3n0}3z3B0K0P3F3v373x3L3f0L3P3H3R3J3y0g3c3A3f0k3W3l381W3o3#3q3C0(3*3I3-3K3/3%3C0p3?3Y3^3!3$3M0z3~3m403T040x0H453,2^413:0x3h1B3j3X464e480x3s4j3u4l4d3a3`3B0x3E4r3G3+3S4w120x3O4A3Q4m4v424F3V4I4t4D4M493)4P4C3Z4o3=4V3@4n4E493}4!3 4$4S0x444*4K3.4S0I4b4:4u4=3:0I4i334Q4X4%0I4q351N311A2=2#0B2)3x0v222B0,1T1I300w323j3P055e0-5m4;0}0G123n5o4#2k0d3f5y4+3a0v120S1/0u0w5D5t0111040!3W0K5T0K4W405v040-0X5M4`0}5B3C5$3x0X0c120A0A2`2L5:5+3Z5P0C5^400q5P0r0w0O5#4I5W4e5P0i3P5V5z3o125k2|0c5|6612684I6a5E6c046f6h2k6769653a5w3-5L646b0}5P0V5R4P5U6H6m5N5~1260626r1?0g120T6P3K6d2R6q6l6v6Q120#6u6B3y6W2/6g6G6I5T6!0}6L046N63356)6R046T6A6n6V6p0g6-336J5%016|6%6Z6)0b126Y4 6/6:6)6?6^6U786S7m7d043n6z756;7n047a7u7c6x1=7t4k7h763x7k616_5n6{7o6 5N7q0c0g0F2o2.1z7b707w7y3j7G5_120Z0j3W066H7v5Y5!7m5)5V7O770b0X127R1S2m0w0A7R7T0b2.7m5`7m7I6O7@3x6t7X7P7{0o0 0w2R856j6(7Y7Q7S7U7D3u7v6D6F7g7h7v887K8s7M6}7p7{8p831y8k040t8E04198h8j8a7%040l8m5N798V7^8F82844P7,5U7.127:8R407=7p7`8N8G2.0A0-8J5{8-4e8z8J6k7z8n8f8P8r2X8t126E5S8x6)5Y0E8A2X7$47930E8i955*6{5)2`8Y7H5 7J7m6|6~6`928=8#8I8|6s128v7E7F8)9c122R0Q0m0s0b9r3Z8~9D6#8D9U71818q7W9y5N5P8L9X6*8N8g9k8Q9$775P8U8%7-9K5Z0w9f5s778/9*7_8!8q0A2K1o1/8`879t899:8b989G4s7F8*049e9R470q122ya89*9Tac3Z9w8M9Z8H9#7L7Y6Dal4e6|020e0Q0JaD2k0c0E124^at405Paf3G9I9J9z0Q0g0/0OaK9V7!3u9h4eaMaO9aaVai0X3#a$9Y7Sa?789p9Q8d77asaA8W7NaQ4na2ay9vb2b08Z040u3A1xaz8BaB120C996.aV9^aXaZ3Aa_6|0Na(9g7v8o0Fa.9Iai9M9Oa|918e04aYa!br120Ra_0ban04ap9*86araa9|7vava0b57V8J0Vbzbn5N5Y61608JaT13bma*2k5YbC9Pa_0G5G040*1j9m140R5q5l1J570R591A0Q5bc92%2Z21232#0o1.c4c75i1G9}3x2R0c0A0X0o0G7 0Y0U121s1u1w1y0Kb/1J3k1H0h732A0K2`1S1w0%0K0B2e0?0O000w0D8i0v0E0v1:300%0v0%0-0b0Q0i0K1/5Vc33x1^1$1(1*co3Zb+0=9m975Qb`9L0.bDb`b|b~8$55c33C0+0w1h0K0$2$1:730E0r6~1Q1L040W2`2Kc:1:c?c(c*c,0Q0K1ydB0%1w1T3A2odB0McEcG1R1Tc@1(1`1)2 575535dcai8,b35A5Ca08;ax8@a50+a7bSbia96M9ud/04bk8w7i7Y9d9|b=3obPbRd#1?bTe36=bVb79We69+d*9CebaCa}3xaFaHaJeh3Za,04aPb9add2bl6Ibw12bIbqem408XeAa+aNepb(aWb*12a;0sbN8!bra{a_a bgb1eaer4Xb!eeeWeBb8eTbabc1geZe%esbjb/8(a/7AbHbpa#eD2kbsbu9n9z81eHd{eJ04b^bE7#ewe?bJe_9VbMfa3Ke12oaqebeS968C9xe!b49A9!b$3*c25f2Y5k2Y59c10-0/0;0r04.
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

.128013nmwgPoC,}*6]uRa8bsr[vce1S9_d(xiyk02; V5à+lI4t/E.3)Afh{:=êé7qNp050C0x0T0p0F0Q0s0L0w0Q0p0s0s0(010T0F0.010406050s0n0c0c0p0t0G040z0g0Q0n120g0b0L020p0c0.0K0L0o0x1c0t0,0n0x0s050U191b1d1f170.041D1K051N0U1N1P1K170C0F0v0`0|0~100#0F0e0#0Q1%0#0T15050=0r0Q0x1Y0}0 011$1(1*1(0T1:1=1.0T0r0g0C1f1/0t1L0T0#0`1i0s0.0p0b100J011@1!010!0@0x0b1q0x1.2f2h2m1_2p1=2s0c2u040a0L0f0t0g0.0g0s0F1l1n0:2d0t0t0x0w2P1D2w0b1L0U2b2#0T29282a0C2y101*0b2r2M1.1V1X0{1^2/0F2;0b251W1.0.2U1L2Z2#36182g1n2`2n2 0t1c0Q150L0y2Y3a16392x3c1_3e3g3i0J3l2h3n2Z2.013s0p3h040L0X3w2!173z3q103C3E0L0S3I3y3a3A3O3i0N3S3K3U3M3B0g3f3D3i0l3Z3o3b1Z3r3(3t3F0+3-3L3:3N3=3*3F0q3_3#3{3%3)3P0A413p433W040y0I483/2{443?0y3k1E3m3!494h4b0y3v4m3x4o4g3d3}3E0y3H4u3J3.3V4z150y3R4D3T4p4y454I3Y4L4w4G4P4c3,4S4F3$4r3^4Y3`4q4H4c404%424)4V0y474-4N3;4V0J4e4?4x4^3?0J4l364T4!4*0J4t524Z4a554C584(4O4 4K5d4.5f3~0J4R5i4@3|4_4X5o4}5q4 4$5t4U4 4,5y544_4=5C5a4V0X4{5G4/3?0X514n595M3~0X575Q5e4~5T5c3m1M341D2^2(0C2,3A0w252E0/1W1L330x355#4L055.0:5_5p010H153q3S5R2n0d3i655X3N0w150V1=0v0x6a5j1_14040%3Z0L6q0L661_62040:0!6j60683F6z5u2o0c150B0B2}2O6I6D3A6m0D6N3$0r6m0s0x0Q6y5{6b016m0i3S6s6!0b155@2 0c6R436$6(6t3N156.6:4h6=4L6)6k6^043q6i6Z706#150Y6o4S6r7c6 606T156V6X6{2n0g150W7k3r6,2U6`6~6@017m040(6?6*7r2=6/7b7d6q7v7g047i6Y386!7x7o75606+047t367e6E7x7z7u7B7U0g7E527G7H6!7J7L7p107P7:3B633:747W7v7Z7A767T736p7+7I6U6W7M5#7O7n7?7T0c0g0G2r2;1C7#767}8j606m0$0j3Z067c7v6v6x7?6B6s7R6E0b0!158d1V2p0x0B8d8f0b2;7?6P7?7.868O156%8m8B8E0p120x2U8T048V7{7$8K8g7`88766m79827G847h8S8A3A7=8{4!8E8e8-8i7N8:150u8b8Y8!8$8~6;150m7~608l8*7 908L8N4S8s6r8u158w9c4h8y8b8D048,8M8I0:8%6Q9u2n8R7j9G6l8U9g8X9z8Z0F8#8.3x7v8;7a7*836!6v0F873x7X3V999R9b9j9h6B2}9N3A9I9%2!7|8a9K719A8h8%9X4n7+7d9r042U0T0n0t0b9=6S859J949h9{ag9O9~1B8%979|7@9P9a9T9_6!6m9f9o8t9!9s0x9^5 6E9wap8C9l8-0B2N1r1=9E8QaeaD9V78a14va3a59$ac4a0r152BaPap9@7?8}aj9*9z919B938/8n78a!4h7x020e0T0Ka`2n0c0F155Ka@6E6maV3Ja3az9k040T0g0=0Qb11_9i3m9)3$b3b58?bca50!3(bk9}8ebx7w9:ab8W9?aRa,aib7a/ala?9U89047Qa.8 040v3D1AbMau95040D8=7Fbca47$bgbibA7x0P7!9.akbzb%btaAa60;a9bDb;a/b+3Db-150UbA0ba$04a(ap8Pa*bGapa-bJbSbL8%0Y8rbd608vaC8x69aH9yal0B2L0b0:2UataE6O159FbR43a+ca9MbEbS5.aC0!bXcB3$9Wbscm6E9#aDboa#a%2ra)cF4hcHc%7lbIbNbecicI04ckcK43a|a~b0c?4hbq04b6c-a^6ncT9Zbec0bjc{c+7ybAc}c bbb(cY4q15d60BcM0!cOc2dad81_dcd38@b_bv0tc59+9Sb-bCbAc)cgc@c,bY7SaJa=a0dtb^76cWdyar9,cAdg7l6B2 0TdB159;dq71dldnc:ba16dfdOcn150t0?6Vc52E0MbV0x0V2Tbwc:cEdF4h0s2k04010R0Q0L1c0b1z1?0p0nea0g2}0_0n3b0gcN0F0w9R0b1-cjdNaXb*bhc1d%7w15b/dDcdc*bldHcQ4adK9 c:aoeG9}9QdAc:axb~3$7x0kdRd)cPaT04eOe23ddz9-e)9L04eUa2d.9qexbidkendmcPdVeH04eDeA80e`d*eP77e%98dSeSf5aweve?dPd;b{aadRd6doc4f1diey0Qe_cNcP9pduff046Wd@d+fd7,fwa7b|bA0H6d040-1mcA170U5}5^5$fQ0U5)1D0T5+fV2*2$24262(0p1;fS5)1JeJ4h2U0c0B0!0p0H8I0#0X151v1xed0_d,1M3n1K0h7(2D0L2}1V1z0*0L0C2h0_0Q000x0E8#eq0w1?330*0w0*0:es0i0L1=6sfP3A1{1)1+1-f-2n6vfycAe$d,e}106vfEfieAfH15fK9n38fO5/3F0.0x1k0L0)2)1?7(0F0s7Q1T1O040Zej0Fgv1?gygogqgs0T0L1Bg}0*1z1W3D2rg}0O0L7ag.2^gz1+1}1,325%gV38fPgE6uaBaS6!aGf5aIa:9m8Icwcy0xgIavcDaQ8_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

.128013nmwgPoC,}*6]uRa8bsr[vce1S9_d(xiyk02; V5à+lI4t/E.3)Afh{:=êé7qNp050C0x0T0p0F0Q0s0L0w0Q0p0s0s0(010T0F0.010406050s0n0c0c0p0t0G040z0g0Q0n120g0b0L020p0c0.0K0L0o0x1c0t0,0n0x0s050U191b1d1f170.041D1K051N0U1N1P1K170C0F0v0`0|0~100#0F0e0#0Q1%0#0T15050=0r0Q0x1Y0}0 011$1(1*1(0T1:1=1.0T0r0g0C1f1/0t1L0T0#0`1i0s0.0p0b100J011@1!010!0@0x0b1q0x1.2f2h2m1_2p1=2s0c2u040a0L0f0t0g0.0g0s0F1l1n0:2d0t0t0x0w2P1D2w0b1L0U2b2#0T29282a0C2y101*0b2r2M1.1V1X0{1^2/0F2;0b251W1.0.2U1L2Z2#36182g1n2`2n2 0t1c0Q150L0y2Y3a16392x3c1_3e3g3i0J3l2h3n2Z2.013s0p3h040L0X3w2!173z3q103C3E0L0S3I3y3a3A3O3i0N3S3K3U3M3B0g3f3D3i0l3Z3o3b1Z3r3(3t3F0+3-3L3:3N3=3*3F0q3_3#3{3%3)3P0A413p433W040y0I483/2{443?0y3k1E3m3!494h4b0y3v4m3x4o4g3d3}3E0y3H4u3J3.3V4z150y3R4D3T4p4y454I3Y4L4w4G4P4c3,4S4F3$4r3^4Y3`4q4H4c404%424)4V0y474-4N3;4V0J4e4?4x4^3?0J4l364T4!4*0J4t524Z4a554C584(4O4 4K5d4.5f3~0J4R5i4@3|4_4X5o4}5q4 4$5t4U4 4,5y544_4=5C5a4V0X4{5G4/3?0X514n595M3~0X575Q5e4~5T5c3m1M341D2^2(0C2,3A0w252E0/1W1L330x355#4L055.0:5_5p010H153q3S5R2n0d3i655X3N0w150V1=0v0x6a5j1_14040%3Z0L6q0L661_62040:0!6j60683F6z5u2o0c150B0B2}2O6I6D3A6m0D6N3$0r6m0s0x0Q6y5{6b016m0i3S6s6!0b155@2 0c6R436$6(6t3N156.6:4h6=4L6)6k6^043q6i6Z706#150Y6o4S6r7c6 606T156V6X6{2n0g150W7k3r6,2U6`6~6@017m040(6?6*7r2=6/7b7d6q7v7g047i6Y386!7x7o75606+047t367e6E7x7z7u7B7U0g7E527G7H6!7J7L7p107P7:3B633:747W7v7Z7A767T736p7+7I6U6W7M5#7O7n7?7T0c0g0G2r2;1C7#767}8j606m0$0j3Z067c7v6v6x7?6B6s7R6E0b0!158d1V2p0x0B8d8f0b2;7?6P7?7.868O156%8m8B8E0p120x2U8T048V7{7$8K8g7`88766m79827G847h8S8A3A7=8{4!8E8e8-8i7N8:150u8b8Y8!8$8~6;150m7~608l8*7 908L8N4S8s6r8u158w9c4h8y8b8D048,8M8I0:8%6Q9u2n8R7j9G6l8U9g8X9z8Z0F8#8.3x7v8;7a7*836!6v0F873x7X3V999R9b9j9h6B2}9N3A9I9%2!7|8a9K719A8h8%9X4n7+7d9r042U0T0n0t0b9=6S859J949h9{ag9O9~1B8%979|7@9P9a9T9_6!6m9f9o8t9!9s0x9^5 6E9wap8C9l8-0B2N1r1=9E8QaeaD9V78a14va3a59$ac4a0r152BaPap9@7?8}aj9*9z919B938/8n78a!4h7x020e0T0Ka`2n0c0F155Ka@6E6maV3Ja3az9k040T0g0=0Qb11_9i3m9)3$b3b58?bca50!3(bk9}8ebx7w9:ab8W9?aRa,aib7a/ala?9U89047Qa.8 040v3D1AbMau95040D8=7Fbca47$bgbibA7x0P7!9.akbzb%btaAa60;a9bDb;a/b+3Db-150UbA0ba$04a(ap8Pa*bGapa-bJbSbL8%0Y8rbd608vaC8x69aH9yal0B2L0b0:2UataE6O159FbR43a+ca9MbEbS5.aC0!bXcB3$9Wbscm6E9#aDboa#a%2ra)cF4hcHc%7lbIbNbecicI04ckcK43a|a~b0c?4hbq04b6c-a^6ncT9Zbec0bjc{c+7ybAc}c bbb(cY4q15d60BcM0!cOc2dad81_dcd38@b_bv0tc59+9Sb-bCbAc)cgc@c,bY7SaJa=a0dtb^76cWdyar9,cAdg7l6B2 0TdB159;dq71dldnc:ba16dfdOcn150t0?6Vc52E0MbV0x0V2Tbwc:cEdF4h0s2k04010R0Q0L1c0b1z1?0p0nea0g2}0_0n3b0gcN0F0w9R0b1-cjdNaXb*bhc1d%7w15b/dDcdc*bldHcQ4adK9 c:aoeG9}9QdAc:axb~3$7x0kdRd)cPaT04eOe23ddz9-e)9L04eUa2d.9qexbidkendmcPdVeH04eDeA80e`d*eP77e%98dSeSf5aweve?dPd;b{aadRd6doc4f1diey0Qe_cNcP9pduff046Wd@d+fd7,fwa7b|bA0H6d040-1mcA170U5}5^5$fQ0U5)1D0T5+fV2*2$24262(0p1;fS5)1JeJ4h2U0c0B0!0p0H8I0#0X151v1xed0_d,1M3n1K0h7(2D0L2}1V1z0*0L0C2h0_0Q000x0E8#eq0w1?330*0w0*0:es0i0L1=6sfP3A1{1)1+1-f-2n6vfycAe$d,e}106vfEfieAfH15fK9n38fO5/3F0.0x1k0L0)2)1?7(0F0s7Q1T1O040Zej0Fgv1?gygogqgs0T0L1Bg}0*1z1W3D2rg}0O0L7ag.2^gz1+1}1,325%gV38fPgE6uaBaS6!aGf5aIa:9m8Icwcy0xgIavcDaQ8_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.