Aller au contenu

Exercices de POO - série 4

Exercice 1 : É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. Il est progressif, il ne faut pas passer à la question suivante sans avoir terminé celle en cours.

Constructeur

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 le constructeur 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 : 5/5

.128013f:6Sd=4yrE./opg2mcb1w3v{e l,P5)tiknua(}_sh050f0z0G0L0H0B0P0A0s0B0L0P0P0g010G0H0o010406050P0K0r0r0L0j0i040e0n0B0K0+0n0J050m0=0@0_0{0:0o04051b141e0m1b0:0f0H0x0Z0#0%0)0Q0H0p0Q0B1s0Q0G0.050U0t0B0z1n0$0(011r1t1v1t0G1B1D1z0G0j1c0G0Q0Z0~0P0o0L0J0)0q011F1p010b0W0z0J0L0r0z1z1Y1!1)1H1,1D1/1;0.0a0A0D0j0n0o0n0P0H110J0A0S1W0j0j0z0s29141@0J1c0m1U2m1R1T1S1A0f1_0)1v0J1.261z1k1m0!1G2w0H2y0J0n2C1z0o2f1c2k2m2Q0;1Z2a2E1*2J0j0^0B0.0u2j2U0/2T1^2W1H2Y2!0.0q2(1!2*2k2v012/0L2#040w2?2l0:2_2-0)2|2~0h312^2U2`370.0E3a333c352{0n2Z2}0.0d3a1f2O142C2p0f1T2u3k0s2K1=1c3v1d3t2S152)053B0S2P3j1o1H0I0.2-3r343Q0)0v0.0A3V3P2F2{0s0.0k1D0x0z3$2,3X010-040c3h0A3{3#3W3(3S040S0b3:2V3=3Z043#3J2@2+453(0b0r0.0O0O2H284i442`3@0M4n3k0t3@0P0z0B434a2l4c4o0.0C3a3}3%2X0.2N2z0r4r3=3@4E4z484B3k0J0.2J4M4R4T4O4D4F4!3(4V042-3/4Z3~1*3@0F3_4R063|4_4G3;3(4t0.4v4x4N3(0n0.0l524I044K4X4%4/1H54040g5c4H2.4J2f5b4@4`3|4(1*4~04504y2S5d0)5f564.5j364W0n4Y2Q4{4d1*5f5h4R5J3d5F5H2)4^5p5P4s4u4w5w3K5y015A575k4+3Q4-5I5r5e0.5N5.5$4*4,3`5V5/0)5t5v5)5z55602{0.0r0n0i1.2y0P5i4|5L5;6c5K1H3@0y0N3h143M0z2m4K2m3F2n3x142q6w0L1C6p3u1l2*0m0S0U0W0P04.

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

.128013f:6Sd=4yrE./opg2mcb1w3v{e l,P5)tiknua(}_sh050f0z0G0L0H0B0P0A0s0B0L0P0P0g010G0H0o010406050P0K0r0r0L0j0i040e0n0B0K0+0n0J050m0=0@0_0{0:0o04051b141e0m1b0:0f0H0x0Z0#0%0)0Q0H0p0Q0B1s0Q0G0.050U0t0B0z1n0$0(011r1t1v1t0G1B1D1z0G0j1c0G0Q0Z0~0P0o0L0J0)0q011F1p010b0W0z0J0L0r0z1z1Y1!1)1H1,1D1/1;0.0a0A0D0j0n0o0n0P0H110J0A0S1W0j0j0z0s29141@0J1c0m1U2m1R1T1S1A0f1_0)1v0J1.261z1k1m0!1G2w0H2y0J0n2C1z0o2f1c2k2m2Q0;1Z2a2E1*2J0j0^0B0.0u2j2U0/2T1^2W1H2Y2!0.0q2(1!2*2k2v012/0L2#040w2?2l0:2_2-0)2|2~0h312^2U2`370.0E3a333c352{0n2Z2}0.0d3a1f2O142C2p0f1T2u3k0s2K1=1c3v1d3t2S152)053B0S2P3j1o1H0I0.2-3r343Q0)0v0.0A3V3P2F2{0s0.0k1D0x0z3$2,3X010-040c3h0A3{3#3W3(3S040S0b3:2V3=3Z043#3J2@2+453(0b0r0.0O0O2H284i442`3@0M4n3k0t3@0P0z0B434a2l4c4o0.0C3a3}3%2X0.2N2z0r4r3=3@4E4z484B3k0J0.2J4M4R4T4O4D4F4!3(4V042-3/4Z3~1*3@0F3_4R063|4_4G3;3(4t0.4v4x4N3(0n0.0l524I044K4X4%4/1H54040g5c4H2.4J2f5b4@4`3|4(1*4~04504y2S5d0)5f564.5j364W0n4Y2Q4{4d1*5f5h4R5J3d5F5H2)4^5p5P4s4u4w5w3K5y015A575k4+3Q4-5I5r5e0.5N5.5$4*4,3`5V5/0)5t5v5)5z55602{0.0r0n0i1.2y0P5i4|5L5;6c5K1H3@0y0N3h143M0z2m4K2m3F2n3x142q6w0L1C6p3u1l2*0m0S0U0W0P04.
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 : 5/5

.128013f:6Sd=4yrE./opg2mcb1w937v{e[ l,8P5)ti]knua(}_sh050f0B0K0Q0L0E0U0D0s0E0Q0U0U0g010K0L0o010406050U0P0r0r0Q0j0i040e0n0E0P0:0n0O050m0`0|0~100^0o04051g191j0m1g0^0f0L0z0(0*0,0.0V0L0p0V0E1x0V0K0?050Z0t0E0B1s0+0-011w1y1A1y0K1G1I1E0K0j1h0K0V0(130U0o0Q0O0.0q011K1u010b0#0B0O0Q0r0B1E1%1)1.1M1;1I1@1_0?0a0D0H0j0n0o0n0U0L160O0D0X1#0j0j0B0s2e191|0O1h0m1Z2r1W1Y1X1F0f1~0.1A0O1?2b1E1p1r0)1L2B0L2D0O0n2H1E0o2k1h2p2r2V0_1(2f2J1/2O0j0}0E0?0u2o2Z0@2Y1}2#1M2%2)0?0q2-1)2/2p2A012@0Q2*040x2{2q0^2~2=0.31330h362}2Z2 3c0?0I3f383h3a300n2(320?0d3m2:2!1t2?3r2^040y3w393z3b3B3t040G3F3o3H3q3s330w3f1k2T192H2u0f1Y2z3p0s2P1`1h3Y1i3W2X1a2.053(0X2U3O2K010N0?2=3U3G3`0v0?0D3 3_2$0s0?0k1I0z0B452;3P0=040c3m0D4l44401/3|040X0b4e3y41434u2 0b0r0?0T0T2M2d4D4y3p4h0R4I3P0t4h0U0B0E4t3:2|3x2 4h0F3f4n462?0?2S2E0r4M3`4Y4!4W3p0O0?2O4+4U2q4:4g0?4Z4_044#4f3`4=042=4d4 4{4-0?0J4j4 064m5g514v1/4O0?4Q4S4,1/0n0?0l5p4%044)4@4/4o1M5r040g5z4$3b4(2k5y5e5h4m595k4P4R4T2X5A0.5C5t585U304?0n4^2V5i2 5C5E4 5)4;5#5%2.5f5M5.4N5Q5o5Y5G015W5u5H553z575(5O5B0?5,655Z54564k5@660.5l045n5S3;5Z5 5|522$0?0r0n0i1?2D0U5F6q675D6z5j1M4h0A0S3m5?4l6g3{0?4s600142506Q0O0b6s2P0L1;0B0T6t6v0O2D6Q4K6Q6i6k6+4}6D3i6s0Q0:0B2k6:044~6a5}546%6w646m5}4h5c6e5M6M6.5R6Q6o5T706X6(6x6|0C6U6@6_6{6p6E0.4h0M6=3p5+7w3P716u733w0m3?0B2r4)2r3,2s3!192v7O0Q1H7H3X1q2/0m0X0Z0#0U04.

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

.128013f:6Sd=4yrE./opg2mcb1w937v{e[ l,8P5)ti]knua(}_sh050f0B0K0Q0L0E0U0D0s0E0Q0U0U0g010K0L0o010406050U0P0r0r0Q0j0i040e0n0E0P0:0n0O050m0`0|0~100^0o04051g191j0m1g0^0f0L0z0(0*0,0.0V0L0p0V0E1x0V0K0?050Z0t0E0B1s0+0-011w1y1A1y0K1G1I1E0K0j1h0K0V0(130U0o0Q0O0.0q011K1u010b0#0B0O0Q0r0B1E1%1)1.1M1;1I1@1_0?0a0D0H0j0n0o0n0U0L160O0D0X1#0j0j0B0s2e191|0O1h0m1Z2r1W1Y1X1F0f1~0.1A0O1?2b1E1p1r0)1L2B0L2D0O0n2H1E0o2k1h2p2r2V0_1(2f2J1/2O0j0}0E0?0u2o2Z0@2Y1}2#1M2%2)0?0q2-1)2/2p2A012@0Q2*040x2{2q0^2~2=0.31330h362}2Z2 3c0?0I3f383h3a300n2(320?0d3m2:2!1t2?3r2^040y3w393z3b3B3t040G3F3o3H3q3s330w3f1k2T192H2u0f1Y2z3p0s2P1`1h3Y1i3W2X1a2.053(0X2U3O2K010N0?2=3U3G3`0v0?0D3 3_2$0s0?0k1I0z0B452;3P0=040c3m0D4l44401/3|040X0b4e3y41434u2 0b0r0?0T0T2M2d4D4y3p4h0R4I3P0t4h0U0B0E4t3:2|3x2 4h0F3f4n462?0?2S2E0r4M3`4Y4!4W3p0O0?2O4+4U2q4:4g0?4Z4_044#4f3`4=042=4d4 4{4-0?0J4j4 064m5g514v1/4O0?4Q4S4,1/0n0?0l5p4%044)4@4/4o1M5r040g5z4$3b4(2k5y5e5h4m595k4P4R4T2X5A0.5C5t585U304?0n4^2V5i2 5C5E4 5)4;5#5%2.5f5M5.4N5Q5o5Y5G015W5u5H553z575(5O5B0?5,655Z54564k5@660.5l045n5S3;5Z5 5|522$0?0r0n0i1?2D0U5F6q675D6z5j1M4h0A0S3m5?4l6g3{0?4s600142506Q0O0b6s2P0L1;0B0T6t6v0O2D6Q4K6Q6i6k6+4}6D3i6s0Q0:0B2k6:044~6a5}546%6w646m5}4h5c6e5M6M6.5R6Q6o5T706X6(6x6|0C6U6@6_6{6p6E0.4h0M6=3p5+7w3P716u733w0m3?0B2r4)2r3,2s3!192v7O0Q1H7H3X1q2/0m0X0Z0#0U04.
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 : 5/5

.128013f06S:d=4yrEA./Nopg2mcb1w9R37v{eê[ l,8P5)ti]kné;ua(}_shq050g0F0P0X0Q0J0#0I0v0J0X0#0#0h010P0Q0r010406050#0W0u0u0X0k0j040e0q0J0W0{0q0T0I020X0u0r0V0I0A0F150k0%0W0F0#050o12141618100r04051D1w1G0o1D100g0Q0D0:0=0@0_0$0Q0s0$0J1U0$0P0~050+0w0J0F1P0?0^011T1V1X1V0P1%1)1#0P0k1E0P0$0:1b0#0r0X0T0_0t011+1R010b0-0F0T1j0F1#2123281-2b1)2e0u2g040a0I0M0k0q0r0q0#0Q1e1g0)1 0k0k0F0v2B1w2i0T1E0o1}2N1`1|1{1$0g2k0_1X0T2d2y1#1M1O0;1,2X0Q2Z0T0q2%1#0r2G1E2L2N2^11221g2)292.0k150J0~0I0x2K2|0 2{2j2~1-3032340t3723392L2W013e0X33040I0B3i2M103l3c0_3o3q0I0i3u3k2|3m3A340N3E3w3G3y3n0q313p340d3L3a2}1Q3d3Q3f3r0C3V3x3Y3z3!3S3r0L3(3N3*3P3R3B0z3:3b3=3I040x0c3`3X2*3?3#0x361x383M3{433}0x3h483j4a422 3,3q0x3t4g3v3W3H4l0~0x3D4p3F4b4k3@4u3K4x1H2?1w2%2Q0g1|2V3O0v2/2q0(1N1E2=0F2@383E054O0)4W4z1-0S0~3c4Y3)430y344,3;4c0v0~0l1)0D0F4;4%0_0}040f3L0I540I4r3O4)040)0b4}4j1-4/3r5d3m0b0u0~0!0!2,2A5n5i3O500Y5s3=0w500#0F0J5c4E4-29500K3E565F3d0~4U2.0u5w435H5J573|0~5P5R5G0~5I4x5K4=2 4*3Y4|5E5)1-500O524x06555_5(4~015y0~5A5C5Z1-0q0~0n623z5N2G5Y5%5V4364040h5U5L68045O0q5Q5@5`556d295~04605D2`6j016f665.5|0T5X6n6i5/0_6f6h6c6z6F046b2^5^6q5{5e0_6u6w676A656!6P3c5-2^6V3m6L6I6E5+1,6*496U6,3O6Y5B6x4X6z6B6%0~0u0q0j2d2Z1v6N6J6#6g6/6W01500E0Z3L6T546s4(0~5b6!5g566D7e0T0b722/0Q2b0F0!73750T2Z6!5u6!6{617t3m5T796:04150{0F2G7H5#7d3H7x7E7G7M5t0~5=536U7m6X5z6|6!707%5W7R74761u7W040H717R0X7T7V7?5S0~0R7Y3O6.7P7u7!7`7j5_7-01597p84297r6%7w7^7#7B0)7|5v8l1-7K6}3j8h7O6+8h6P7S0Q7U6?8A6z5;5?6S6^8h597z887@8G8I8T6e5g2,8X6t7/7L6y7a7=8)7Q7D7`788,7e508N6@6^6r6z592G0P0W0k0T8#8x8%8z2M8h8+6~7a8F7_7F7{8w4 0~7~9f3n72818H838;7N867+6q8Q0~5B5A7|8@4h8_8`7a8|0*8 918b3m0S4@040p1f8J4q0o4!4V4F9T0o4I1w0P4K9Y2T2O0X1(9V4I1C4$7e2G0u0!0b0X0S7B0$0B0~1o1q1s1u0I9z961J391D9N0P1f0#0K0I1s002d2t0j1}1faa0W2Z0I0b1f2I0Q1f0I0#230/4Z4P3m1/1W1Y1!9-9J0~8}9G4Y9R4P3r6a0D0q8H0I220k0I0g0U9=1d569Say1Y1;1Z2h9D9L9N7$2`aJ4#6C1K1F040m2,2z0I1)1 2D2=0U0v0U0)0T0PaQ0q8 0k0,b40G1`1*a 0k2Aasaua`1*aw2D3Oaza$aC9u049w9P2N9S3r1s0Qas7Ub90I0s0U0k0U0I0Q1k1X0v2A1p2db45?a;2%a!1:aB2;4Ga-2`bwbr8k9p3O8n9j7v8d9d0!8t9j7I9j8y7|5$8D6O9l82bu8B7)a10 8g8{0~8S9I3O8F9m8Wc73=0q8Z9Hb`7ab@9j988K9ab-779y9s5`braG90927.5 7:ck6$b+co9eb(3=509icF4cb|9nb~8L9r5@1wb#1J4G9W4S109W0*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 : 5/5

.128013f06S:d=4yrEA./Nopg2mcb1w9R37v{eê[ l,8P5)ti]kné;ua(}_shq050g0F0P0X0Q0J0#0I0v0J0X0#0#0h010P0Q0r010406050#0W0u0u0X0k0j040e0q0J0W0{0q0T0I020X0u0r0V0I0A0F150k0%0W0F0#050o12141618100r04051D1w1G0o1D100g0Q0D0:0=0@0_0$0Q0s0$0J1U0$0P0~050+0w0J0F1P0?0^011T1V1X1V0P1%1)1#0P0k1E0P0$0:1b0#0r0X0T0_0t011+1R010b0-0F0T1j0F1#2123281-2b1)2e0u2g040a0I0M0k0q0r0q0#0Q1e1g0)1 0k0k0F0v2B1w2i0T1E0o1}2N1`1|1{1$0g2k0_1X0T2d2y1#1M1O0;1,2X0Q2Z0T0q2%1#0r2G1E2L2N2^11221g2)292.0k150J0~0I0x2K2|0 2{2j2~1-3032340t3723392L2W013e0X33040I0B3i2M103l3c0_3o3q0I0i3u3k2|3m3A340N3E3w3G3y3n0q313p340d3L3a2}1Q3d3Q3f3r0C3V3x3Y3z3!3S3r0L3(3N3*3P3R3B0z3:3b3=3I040x0c3`3X2*3?3#0x361x383M3{433}0x3h483j4a422 3,3q0x3t4g3v3W3H4l0~0x3D4p3F4b4k3@4u3K4x1H2?1w2%2Q0g1|2V3O0v2/2q0(1N1E2=0F2@383E054O0)4W4z1-0S0~3c4Y3)430y344,3;4c0v0~0l1)0D0F4;4%0_0}040f3L0I540I4r3O4)040)0b4}4j1-4/3r5d3m0b0u0~0!0!2,2A5n5i3O500Y5s3=0w500#0F0J5c4E4-29500K3E565F3d0~4U2.0u5w435H5J573|0~5P5R5G0~5I4x5K4=2 4*3Y4|5E5)1-500O524x06555_5(4~015y0~5A5C5Z1-0q0~0n623z5N2G5Y5%5V4364040h5U5L68045O0q5Q5@5`556d295~04605D2`6j016f665.5|0T5X6n6i5/0_6f6h6c6z6F046b2^5^6q5{5e0_6u6w676A656!6P3c5-2^6V3m6L6I6E5+1,6*496U6,3O6Y5B6x4X6z6B6%0~0u0q0j2d2Z1v6N6J6#6g6/6W01500E0Z3L6T546s4(0~5b6!5g566D7e0T0b722/0Q2b0F0!73750T2Z6!5u6!6{617t3m5T796:04150{0F2G7H5#7d3H7x7E7G7M5t0~5=536U7m6X5z6|6!707%5W7R74761u7W040H717R0X7T7V7?5S0~0R7Y3O6.7P7u7!7`7j5_7-01597p84297r6%7w7^7#7B0)7|5v8l1-7K6}3j8h7O6+8h6P7S0Q7U6?8A6z5;5?6S6^8h597z887@8G8I8T6e5g2,8X6t7/7L6y7a7=8)7Q7D7`788,7e508N6@6^6r6z592G0P0W0k0T8#8x8%8z2M8h8+6~7a8F7_7F7{8w4 0~7~9f3n72818H838;7N867+6q8Q0~5B5A7|8@4h8_8`7a8|0*8 918b3m0S4@040p1f8J4q0o4!4V4F9T0o4I1w0P4K9Y2T2O0X1(9V4I1C4$7e2G0u0!0b0X0S7B0$0B0~1o1q1s1u0I9z961J391D9N0P1f0#0K0I1s002d2t0j1}1faa0W2Z0I0b1f2I0Q1f0I0#230/4Z4P3m1/1W1Y1!9-9J0~8}9G4Y9R4P3r6a0D0q8H0I220k0I0g0U9=1d569Say1Y1;1Z2h9D9L9N7$2`aJ4#6C1K1F040m2,2z0I1)1 2D2=0U0v0U0)0T0PaQ0q8 0k0,b40G1`1*a 0k2Aasaua`1*aw2D3Oaza$aC9u049w9P2N9S3r1s0Qas7Ub90I0s0U0k0U0I0Q1k1X0v2A1p2db45?a;2%a!1:aB2;4Ga-2`bwbr8k9p3O8n9j7v8d9d0!8t9j7I9j8y7|5$8D6O9l82bu8B7)a10 8g8{0~8S9I3O8F9m8Wc73=0q8Z9Hb`7ab@9j988K9ab-779y9s5`braG90927.5 7:ck6$b+co9eb(3=509icF4cb|9nb~8L9r5@1wb#1J4G9W4S109W0*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", 1)
>>> jane.moyenne_simple()
10.5

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

.128013f6S=dNpg2mRC{ 8P5)ku}A_sh0:q4yrE./oxbc1w937veê[l,+tài]né;a(050f0T0Z0*0#0W0y0o0M0W0*0y0y0e010Z0#0h010406050y0u0k0k0*0F0E040d0J0W0u0 0J0%0o020*0k0h0)0o0l0T190F0C0u0T0y050I16181a1c140h04051H1A1K0I1H140f0#0S0@0_0{0}0z0#0i0z0W1Y0z0Z12050/0L0W0T1T0`0|011X1Z1#1Z0Z1+1-1)0Z0F1I0Z0z0@1f0y0h0*0%0}0j011/1V010b0;0T0%1n0T1)25272c1;2f1-2i0k2k040a0o0q0F0J0h0J0y0#1i1k0-230F0F0T0M2F1A2m0%1I0I212R1~201 1*0f2o0}1#0%2h2C1)1Q1S0^1:2#0#2%0%0J2+1)0h2K1I2P2R2|15261k2-2d2=0F190W120o0N2O30132 2n321;3436380j3b273d2P2!013i0*37040o0Q3m2Q143p3g0}3s3u0o0D3y3o303q3E380r3I3A3K3C3r0J353t380c3P3e311U3h3U3j3v0R3Z3B3$3D3(3W3v0p3,3R3.3T3V3F0P3@3f3_3M040N0A3~3#2.3`3)0N3a1B3c3Q3 47410N3l4c3n4e46333:3u0N3x4k3z3!3L4p120N3H4t3J4f4o3{4y3O4B4m4w4F423Y4I4v3S4h3+4O3-4g4x423?4T3^4V4L0N3}4Z4D3%4L0j444)4n4+3)0j4b2|4J4Q4W0j4j2~1N2`1A2+2U0f202Z3S0M2?2u0,1R1I2_0T2{3c3I05580-5g4*0}0t123g5i4U2d0O385s4!330M120G1-0S0T5x5n0111040B3P0o5N0o4P3_5p040-0b5G4:0}5v3v5W3q0b0k120x0x2:2E5*5#3S5J0+5/3_0L5J0y0T0W5V4B5Q475J0X3I5P5t3h125e2=0k5?6012624B645y6604696b2d61635 335q3$5F5~650}5J0s5L4I5O6B6g5H5^125`5|6l1;0J120H6J3D672K6k6f6p6K120e6o6v3r6Q2(6a6A6C5N6U0}6F046H5}2~6Z6L046N6u6h6P6j0J6%2|6D5X016?6X6T6Z0%126S4^6)6*6Z6-6/6O726M7g77043g6t6 6+7h04747o766r1:7n4d7b703q7e5{6:5h6=7i6_5H7k0k0J0E2h2%1z756`7q7s3c7A5:120n0v3P066B7p5S5U7g5Z5P7I710%0b127L1Q2f0T0x7L7N0%2%7g5;7g7C6I7.3q6n7R7J7=0*0 0T2K7 6d6Y7S7K7M7O7x3n7p6x6z7a7b7p827E8m7G6@7j7=8j7}1y8e040V8y04198b8d847X040$8g5H738P7/8z7|7~4I7$5O7(127*8L3_7,7j7;8H8A2%0x0-8D5=8%478t8D6e7t8h898J8l2Q8n126y5M8r6Z5S0#8u2Q7W408}0#8c8 5!6=5Z2:8S7B5_7D7g6?6^6;8|8,8V8C8?6m128p7y7z8Z96122K0Z0u0F0%9l3S8^9x6V8x9O6{7{8k7Q9s5H5J8F9R6!8H8a9e8K9W715J8O8X7%9E5T0T995m718)9!7:8U8k0x2D1o1-8;819n839*85929A4l7z8!04989L400L122ra29!9Na63S9q8G9T8B9V7F7S6xaf476?020i0Z0)ax2d0k0#124.an3_5Ja93z9C9D9t0Z0J0/0WaE9P7U3n9b47aGaI94aPac0b3UaW9S7Ma-729j9K8771amau8Q7HaK4g9|as9pa|a`8T040S3t1xat8vav120+936(aP9/aRaT3ta:6?0YaY9a7p8i0Ea(9Cac9G9Ia?8{8804aSaUbl120Ia:0%ah04aj9!80ala49?7pap9`a 7P8D0sbtbh5H5S5{5`8DaN13bga!2d5Sbw9Ja:0t5A040g1j9g140I5k5f1L500I521A0Z54c32X2S0*1,b~c15c1G9@3q2K0k0x0b0*0t7_0z0Q121s1u1w1y0ob)1L3d1H0m6}2t0o2:1Q1w0(0o0f270?0W000T0K8c0M0#0M1.2_0(0M0(0-0%0Z0X0o1-cv6*1Ncy1I2+3q1?1!1$1(5d504~2~b}cf3Sb#0=9g915K638Y7c7Sb.0.bxb;b?b^8W4^1Ac{b cb52060h0T1h0o0U1~1.6}0#0y6^1O1J040w2:2Dc%1.b}0ocVcXcZ0Z0o1ydJ0(1w1R3t2hdJ0!cvcx1P1Rc/1$1^1%2^c^5h5~dg9:8$a}5u5w9`8+ar8.9 0ha1bMbca36G9od`04be8qd5b!12aea@3LbJbLd-1;bNeb6,bPb19Qee9#d=9wejawe7ao12aAaCa:a$04aJb3a7d2bf6Cbq12bCbkep3_8ReHa#aHewbYaQe404a+0FbH8Ubla=a:a_baa{eiey4QbUeme%eIb2e!b4b61ge*e.ezbdb)d4bu7ubBbjaVeK2dbmbo9h9t7{eOe371d79Hb:f06ieFe bz716?bGfd3De92hakejeZ908w9re+a~9u9UbW3Zb|592R5e2Rdj510.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 : 5/5

.128013f6S=dNpg2mRC{ 8P5)ku}A_sh0:q4yrE./oxbc1w937veê[l,+tài]né;a(050f0T0Z0*0#0W0y0o0M0W0*0y0y0e010Z0#0h010406050y0u0k0k0*0F0E040d0J0W0u0 0J0%0o020*0k0h0)0o0l0T190F0C0u0T0y050I16181a1c140h04051H1A1K0I1H140f0#0S0@0_0{0}0z0#0i0z0W1Y0z0Z12050/0L0W0T1T0`0|011X1Z1#1Z0Z1+1-1)0Z0F1I0Z0z0@1f0y0h0*0%0}0j011/1V010b0;0T0%1n0T1)25272c1;2f1-2i0k2k040a0o0q0F0J0h0J0y0#1i1k0-230F0F0T0M2F1A2m0%1I0I212R1~201 1*0f2o0}1#0%2h2C1)1Q1S0^1:2#0#2%0%0J2+1)0h2K1I2P2R2|15261k2-2d2=0F190W120o0N2O30132 2n321;3436380j3b273d2P2!013i0*37040o0Q3m2Q143p3g0}3s3u0o0D3y3o303q3E380r3I3A3K3C3r0J353t380c3P3e311U3h3U3j3v0R3Z3B3$3D3(3W3v0p3,3R3.3T3V3F0P3@3f3_3M040N0A3~3#2.3`3)0N3a1B3c3Q3 47410N3l4c3n4e46333:3u0N3x4k3z3!3L4p120N3H4t3J4f4o3{4y3O4B4m4w4F423Y4I4v3S4h3+4O3-4g4x423?4T3^4V4L0N3}4Z4D3%4L0j444)4n4+3)0j4b2|4J4Q4W0j4j2~1N2`1A2+2U0f202Z3S0M2?2u0,1R1I2_0T2{3c3I05580-5g4*0}0t123g5i4U2d0O385s4!330M120G1-0S0T5x5n0111040B3P0o5N0o4P3_5p040-0b5G4:0}5v3v5W3q0b0k120x0x2:2E5*5#3S5J0+5/3_0L5J0y0T0W5V4B5Q475J0X3I5P5t3h125e2=0k5?6012624B645y6604696b2d61635 335q3$5F5~650}5J0s5L4I5O6B6g5H5^125`5|6l1;0J120H6J3D672K6k6f6p6K120e6o6v3r6Q2(6a6A6C5N6U0}6F046H5}2~6Z6L046N6u6h6P6j0J6%2|6D5X016?6X6T6Z0%126S4^6)6*6Z6-6/6O726M7g77043g6t6 6+7h04747o766r1:7n4d7b703q7e5{6:5h6=7i6_5H7k0k0J0E2h2%1z756`7q7s3c7A5:120n0v3P066B7p5S5U7g5Z5P7I710%0b127L1Q2f0T0x7L7N0%2%7g5;7g7C6I7.3q6n7R7J7=0*0 0T2K7 6d6Y7S7K7M7O7x3n7p6x6z7a7b7p827E8m7G6@7j7=8j7}1y8e040V8y04198b8d847X040$8g5H738P7/8z7|7~4I7$5O7(127*8L3_7,7j7;8H8A2%0x0-8D5=8%478t8D6e7t8h898J8l2Q8n126y5M8r6Z5S0#8u2Q7W408}0#8c8 5!6=5Z2:8S7B5_7D7g6?6^6;8|8,8V8C8?6m128p7y7z8Z96122K0Z0u0F0%9l3S8^9x6V8x9O6{7{8k7Q9s5H5J8F9R6!8H8a9e8K9W715J8O8X7%9E5T0T995m718)9!7:8U8k0x2D1o1-8;819n839*85929A4l7z8!04989L400L122ra29!9Na63S9q8G9T8B9V7F7S6xaf476?020i0Z0)ax2d0k0#124.an3_5Ja93z9C9D9t0Z0J0/0WaE9P7U3n9b47aGaI94aPac0b3UaW9S7Ma-729j9K8771amau8Q7HaK4g9|as9pa|a`8T040S3t1xat8vav120+936(aP9/aRaT3ta:6?0YaY9a7p8i0Ea(9Cac9G9Ia?8{8804aSaUbl120Ia:0%ah04aj9!80ala49?7pap9`a 7P8D0sbtbh5H5S5{5`8DaN13bga!2d5Sbw9Ja:0t5A040g1j9g140I5k5f1L500I521A0Z54c32X2S0*1,b~c15c1G9@3q2K0k0x0b0*0t7_0z0Q121s1u1w1y0ob)1L3d1H0m6}2t0o2:1Q1w0(0o0f270?0W000T0K8c0M0#0M1.2_0(0M0(0-0%0Z0X0o1-cv6*1Ncy1I2+3q1?1!1$1(5d504~2~b}cf3Sb#0=9g915K638Y7c7Sb.0.bxb;b?b^8W4^1Ac{b cb52060h0T1h0o0U1~1.6}0#0y6^1O1J040w2:2Dc%1.b}0ocVcXcZ0Z0o1ydJ0(1w1R3t2hdJ0!cvcx1P1Rc/1$1^1%2^c^5h5~dg9:8$a}5u5w9`8+ar8.9 0ha1bMbca36G9od`04be8qd5b!12aea@3LbJbLd-1;bNeb6,bPb19Qee9#d=9wejawe7ao12aAaCa:a$04aJb3a7d2bf6Cbq12bCbkep3_8ReHa#aHewbYaQe404a+0FbH8Ubla=a:a_baa{eiey4QbUeme%eIb2e!b4b61ge*e.ezbdb)d4bu7ubBbjaVeK2dbmbo9h9t7{eOe371d79Hb:f06ieFe bz716?bGfd3De92hakejeZ908w9re+a~9u9UbW3Zb|592R5e2Rdj510.0:0=04.
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.

On garantit que dictionnaire coeffs contient toutes les clés correspondant aux matières du dictionnaire moyennes.

Écrire la méthode moyenne_ponderee.

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

.128013f6S=dNpg2mRC{ 8P5)ku}A_sh0:q4yrE./oxbc1w937veê[l,*+tài]né;a(050f0T0!0+0$0W0y0o0M0W0+0y0y0e010!0$0h010406050y0u0k0k0+0F0E040d0J0W0u100J0(0o020+0k0h0*0o0l0T1a0F0C0u0T0y050I17191b1d150h04051I1B1L0I1I150f0$0S0^0`0|0~0z0$0i0z0W1Z0z0!13050:0L0W0T1U0{0}011Y1!1$1!0!1,1.1*0!0F1J0!0z0^1g0y0h0+0(0~0j011:1W010b0=0T0(1o0T1*26282d1=2g1.2j0k2l040a0o0q0F0J0h0J0y0$1j1l0.240F0F0T0M2G1B2n0(1J0I222S1 21201+0f2p0~1$0(2i2D1*1R1T0_1;2$0$2(0(0J2,1*0h2L1J2Q2S2}16271l2.2e2?0F1a0W130o0N2P3114302o331=3537390j3c283e2Q2#013j0+38040o0Q3n2R153q3h0~3t3v0o0D3z3p313r3F390r3J3B3L3D3s0J363u390c3Q3f321V3i3V3k3w0R3!3C3%3E3)3X3w0p3-3S3/3U3W3G0P3^3g3`3N040N0A3 3$2/3{3*0N3b1C3d3R4048420N3m4d3o4f47343;3v0N3y4l3A3#3M4q130N3I4u3K4g4p3|4z3P4C4n4x4G433Z4J4w3T4i3,4P3.4h4y433@4U3_4W4M0N3~4!4E3(4M0j454*4o4,3*0j4c2}4K4R4X0j4k4_4Q414|4t4 4V4F4?4B544#563=0j4I594+3:4-4O5f4;5h4?4T5k4L4?4Z5p4{4-4)5t514M0Q4/5x4$3*0Q4^3d1M2{1B2,2V0f212!3T0M2@2v0-1S1J2`0T2|5H4C055R0.5Z5g010t133h3J50480O395/553i0M130G1.0S0T5@5a1=12040B3Q0o670o5:2e5,040.0b605*5=3w6g5l2f0k130x0x2;2F6p6k3r630,6u3T0L630y0T0W6f5#5^0~630X3J696H3s135X2?0k6y3`6J6L6a3i136R6T486V4C6M613E5-3%5 6G6*01630s654J686_6)5*6A136C6E6#2e0J130H716Y046Q0J6S6(6X0~73040e6W6N0(6P2L6!6^6`677d016}046 6F2 6N7f756/5*7k047n2}6{6l7f7h7c7j6Z7a667p7H3r7t7v767e747V6O043h6.7G7r7J7i6:7D7#7P7p7r7T6D7w5H7y7X7B6l7D0k0J0E2i2(1A7L6:7)835*630n0v3Q066_7r6c6e7Y6i697`3M0b137}1R2g0T0x7}7 0(2(7Y6w7Y7;708k3T6%7%7M041a100T2L8x136K867{8n7~807$7@6:6=6@4_7Q7R6z6B7=7Y7z7Y7|8S8v1z8M040V8+8n0+8J8L8C6U130%7*5*858F7+8R8u8w4J8c688e138g8{5;5?9d348m8H8-2(0x0.8:6x9g1=8A7?3o7r8E3d8#418@8_8U9u6N8X7.6`9a040$9t2R9y4h9A0$8K9C9M7(6i2;8 6l9s8)7_7x939j958/9q6I138Y4e8!8d6N6c2L0!0u0F0(9X7S8%8B9$909#8V7C948T82a06l638=9+7Z8I9Q8`a86v8}8b9;6:8f0T9L5)6l8i8+9i8t8T0x2E1p1.9o8z9~ap9v136?9Gal5*6c9K9|4R0L132saBac9Zac8*ac8,9)a7a3a9aGaN3`7f020i0!0*a(480k0$135Ba#ai64aI7Q7r7D0!0J0:0Wa/72137K925*a;a?a{7/9=130b3Vb3778tbh7e9V9{8P9}6~8(aVa29D9%av8.a!bua1047Aah4R130S3u1yby2RaF040,aH7o9:9H8Ga b1bk017f0Zb69xa}94bbbRam139@9_bnb78Q04bT3ubV7f0IbV0(aP04aRac8yaTaD9!bB8?9(a68:0sak99bd6dao8h9fbD41au9k8r2C0(0.2L9Saqa_9pcg48aUct2e9w3o9N345-0Jao0bbJcq8DaG9.4m8!9IaMboaOaQ2iaScw9rc1bsc3aXa5bxc7b?13a+a-bVb904a@bza$a`bP9:b#b:b0b=cPa)b5c+a=c-b%aJb/b;0W0x5RcEcGcA1=91b!6Nc,c.3AbQ7qcbbf0Fb_9P9Rb?bmbVcva^3TaWcU6+c5c#b~9-d1a|bSc_b2c{48bXbZcz7:cWdxbWbtbK8Gbw818:abdP7|8^afcpbL8~dIb4040Ydn7!cD0bcFdWc4aedpdB04d(8Zdid23M13d4d6d/d;d)db13bYd-d7d:cGbLdXdu9z8Hd!d^dP63d{9/di9Ib+9`d-d4c%04b^e5dye1eae4d|bcb)046D6C8:cKdheocbeqb-ddam5`040g1kcp150I5%5Y5IeZ0I5L1B0!5Ne(2Y2T0+1-e#5L1HcH3`2L0k0x0b0+0t8r0z0Q131t1v1x1z0oeJ2S1P1K040m7a2u0o2;1R1x0)0o0f280@0W000T0K8K0M0$0M1/2`0)0M0)0.0(0!0X0o1.f67q1O3e1L2,3r1@1#1%1)5W5J2 5#eYe?486ceGd$9EdC6(98djeEeNbV0teReT964 eX5Sf85Je$5V060h0T1i0o0U1 1/7a0$0y7Af91I0w2;2EfF1/eY0ofxfzfB0!0o1zgk0)1x1S3u2igk0#f61M3efM3TfO1_1(2_fT5!2 fW9I9cdPasaXci9)0xclcn0Tf#8W13csefcudOgXcx8Ne9e3ecf$04bOeCda0~aLapg.3sb{b}ekgVaCbq9 g!e6cYdYc!dVd_c8exdQ04c)a.h6dfeIb%c@eth6dcdMdec dg14cMdFb1e2d8eudL9Thkbac=d~3T6cdld-d@ageP90drh6dtc/3rdwg~dydU9*g_c;g-ho9%hgb.hMe7hu6j6NhKdS84dRfXcBdzh3hSeehLbEeh9B8:emhjh*d+g%hsd_h;h)a4h@d#h_dDf*i3ezg(eue8h67,ibi0d?eihFh=8|d`heeM0/b,esdGeuewhYh?iah f=gH1Of_e;5K0/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 : 5/5

.128013f6S=dNpg2mRC{ 8P5)ku}A_sh0:q4yrE./oxbc1w937veê[l,*+tài]né;a(050f0T0!0+0$0W0y0o0M0W0+0y0y0e010!0$0h010406050y0u0k0k0+0F0E040d0J0W0u100J0(0o020+0k0h0*0o0l0T1a0F0C0u0T0y050I17191b1d150h04051I1B1L0I1I150f0$0S0^0`0|0~0z0$0i0z0W1Z0z0!13050:0L0W0T1U0{0}011Y1!1$1!0!1,1.1*0!0F1J0!0z0^1g0y0h0+0(0~0j011:1W010b0=0T0(1o0T1*26282d1=2g1.2j0k2l040a0o0q0F0J0h0J0y0$1j1l0.240F0F0T0M2G1B2n0(1J0I222S1 21201+0f2p0~1$0(2i2D1*1R1T0_1;2$0$2(0(0J2,1*0h2L1J2Q2S2}16271l2.2e2?0F1a0W130o0N2P3114302o331=3537390j3c283e2Q2#013j0+38040o0Q3n2R153q3h0~3t3v0o0D3z3p313r3F390r3J3B3L3D3s0J363u390c3Q3f321V3i3V3k3w0R3!3C3%3E3)3X3w0p3-3S3/3U3W3G0P3^3g3`3N040N0A3 3$2/3{3*0N3b1C3d3R4048420N3m4d3o4f47343;3v0N3y4l3A3#3M4q130N3I4u3K4g4p3|4z3P4C4n4x4G433Z4J4w3T4i3,4P3.4h4y433@4U3_4W4M0N3~4!4E3(4M0j454*4o4,3*0j4c2}4K4R4X0j4k4_4Q414|4t4 4V4F4?4B544#563=0j4I594+3:4-4O5f4;5h4?4T5k4L4?4Z5p4{4-4)5t514M0Q4/5x4$3*0Q4^3d1M2{1B2,2V0f212!3T0M2@2v0-1S1J2`0T2|5H4C055R0.5Z5g010t133h3J50480O395/553i0M130G1.0S0T5@5a1=12040B3Q0o670o5:2e5,040.0b605*5=3w6g5l2f0k130x0x2;2F6p6k3r630,6u3T0L630y0T0W6f5#5^0~630X3J696H3s135X2?0k6y3`6J6L6a3i136R6T486V4C6M613E5-3%5 6G6*01630s654J686_6)5*6A136C6E6#2e0J130H716Y046Q0J6S6(6X0~73040e6W6N0(6P2L6!6^6`677d016}046 6F2 6N7f756/5*7k047n2}6{6l7f7h7c7j6Z7a667p7H3r7t7v767e747V6O043h6.7G7r7J7i6:7D7#7P7p7r7T6D7w5H7y7X7B6l7D0k0J0E2i2(1A7L6:7)835*630n0v3Q066_7r6c6e7Y6i697`3M0b137}1R2g0T0x7}7 0(2(7Y6w7Y7;708k3T6%7%7M041a100T2L8x136K867{8n7~807$7@6:6=6@4_7Q7R6z6B7=7Y7z7Y7|8S8v1z8M040V8+8n0+8J8L8C6U130%7*5*858F7+8R8u8w4J8c688e138g8{5;5?9d348m8H8-2(0x0.8:6x9g1=8A7?3o7r8E3d8#418@8_8U9u6N8X7.6`9a040$9t2R9y4h9A0$8K9C9M7(6i2;8 6l9s8)7_7x939j958/9q6I138Y4e8!8d6N6c2L0!0u0F0(9X7S8%8B9$909#8V7C948T82a06l638=9+7Z8I9Q8`a86v8}8b9;6:8f0T9L5)6l8i8+9i8t8T0x2E1p1.9o8z9~ap9v136?9Gal5*6c9K9|4R0L132saBac9Zac8*ac8,9)a7a3a9aGaN3`7f020i0!0*a(480k0$135Ba#ai64aI7Q7r7D0!0J0:0Wa/72137K925*a;a?a{7/9=130b3Vb3778tbh7e9V9{8P9}6~8(aVa29D9%av8.a!bua1047Aah4R130S3u1yby2RaF040,aH7o9:9H8Ga b1bk017f0Zb69xa}94bbbRam139@9_bnb78Q04bT3ubV7f0IbV0(aP04aRac8yaTaD9!bB8?9(a68:0sak99bd6dao8h9fbD41au9k8r2C0(0.2L9Saqa_9pcg48aUct2e9w3o9N345-0Jao0bbJcq8DaG9.4m8!9IaMboaOaQ2iaScw9rc1bsc3aXa5bxc7b?13a+a-bVb904a@bza$a`bP9:b#b:b0b=cPa)b5c+a=c-b%aJb/b;0W0x5RcEcGcA1=91b!6Nc,c.3AbQ7qcbbf0Fb_9P9Rb?bmbVcva^3TaWcU6+c5c#b~9-d1a|bSc_b2c{48bXbZcz7:cWdxbWbtbK8Gbw818:abdP7|8^afcpbL8~dIb4040Ydn7!cD0bcFdWc4aedpdB04d(8Zdid23M13d4d6d/d;d)db13bYd-d7d:cGbLdXdu9z8Hd!d^dP63d{9/di9Ib+9`d-d4c%04b^e5dye1eae4d|bcb)046D6C8:cKdheocbeqb-ddam5`040g1kcp150I5%5Y5IeZ0I5L1B0!5Ne(2Y2T0+1-e#5L1HcH3`2L0k0x0b0+0t8r0z0Q131t1v1x1z0oeJ2S1P1K040m7a2u0o2;1R1x0)0o0f280@0W000T0K8K0M0$0M1/2`0)0M0)0.0(0!0X0o1.f67q1O3e1L2,3r1@1#1%1)5W5J2 5#eYe?486ceGd$9EdC6(98djeEeNbV0teReT964 eX5Sf85Je$5V060h0T1i0o0U1 1/7a0$0y7Af91I0w2;2EfF1/eY0ofxfzfB0!0o1zgk0)1x1S3u2igk0#f61M3efM3TfO1_1(2_fT5!2 fW9I9cdPasaXci9)0xclcn0Tf#8W13csefcudOgXcx8Ne9e3ecf$04bOeCda0~aLapg.3sb{b}ekgVaCbq9 g!e6cYdYc!dVd_c8exdQ04c)a.h6dfeIb%c@eth6dcdMdec dg14cMdFb1e2d8eudL9Thkbac=d~3T6cdld-d@ageP90drh6dtc/3rdwg~dydU9*g_c;g-ho9%hgb.hMe7hu6j6NhKdS84dRfXcBdzh3hSeehLbEeh9B8:emhjh*d+g%hsd_h;h)a4h@d#h_dDf*i3ezg(eue8h67,ibi0d?eihFh=8|d`heeM0/b,esdGeuewhYh?iah f=gH1Of_e;5K0/0;0?04.

D'après un exercice de Nicolas Revéret