La fête foraine

Une attraction de fête foraine est destinée aux personnes agées de \(7\) à \(77\) ans. Par contre, les enfants de moins de 12 ans doivent être accompagnés.

Edwige a créé une fonction etre_accompagne prend un paramètre entier compris entre \(7\) et \(77\) (bornes comprises) et renvoie une valeur booléenne, qui vaut Truesi la personne doit être accompagnée, et False sinon.

Le but de cet exercice est de pouvoir valider la fonction écrite par Edwige.

Question 1 : Préconditions et postconditions

Cette fonction est déjà écrite ci-dessous. Compléter la fonction afin d'ajouter les préconditions et postconditions nécessaires, en termes de types et de domaines de valeurs.

Type

La fonction type permet de déterminer le type d'une valeur ou d'une variable.

🐍 Console Python
>>> type(5)
int
>>> a = "Fête"
>>> type(a)
str

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

.128013buST3_4l(wn/8p)aPk0;:Fhors1v7c256mgydi9eNft =050L0O0R0q0M0i0A0S0E0i0q0A0A0T010R0M0o010406050A0c0I0I0q0z0K040d0y0i0c0.0y0l050m0^0`0|0~0?0o04171e051h0m1h1j1e0?0L0M0C0$0(0*0,0x0M0J0x0i1x0x0R0;050X0b0i0O1s0)0+011w1y1A1y0R1G1I1E0R0b0y0L0~1F0z1f0R0x0$110A0o0q0l0,0F011K1u010Q0Z0O0l0q0I0O1E1,1.1?1M1_1I1|1~0;0a0S0r0z0y0o0y0A0M140l0S0V1*0z0z0O0E2j17210l1f0m1(2w0R1$1#1%0L230,1A0l1{2g1E1p1r0%1L2G0M2I0l1Y1q1E0o2p1f2u2w2!0@1-2k2O1@2T0z0{0i0;0S0B2t2(0=2%222*1M2,2.2:0F2?1.2^2u2F012}0q2/040S0f312v0?342{0,37390S0h3d332(353j2:0G3n3f3p3h360y2-382:0H3u2_2)1t2|3z2~3a0D3E3g3H3i3J3B3a0n3N3w3P3y3A3k0N3V2`3X3r040B0t3$3G2P3Y3K0B2=182@1g2Y172M2z0L2D350E1Y1 1f3|1i3`2$3@3205410V2Z3W3/0s0;0V0Q3n3F350k2:4l3O3/0l0Q0;0W2p0g0q0E410I1-0J2I4q4f1@0:040j4G3%4s0;0q0J0O4M3.4I0;0p0v3u0S4!0S4m3x4h041L0O0z0R3n4$4r2+0b0;0R0K0o4S492v4%3X4J4L4|4e4N2+4P4R4T354J0p583x0y0;0T0T5c3(4?042R4.52064#4:4H1M4)4+4-4/4~4O4*57525y1@5e04020J0R0u5h5C4;1M0I0M0;3M525r541M0y4o4*0l0L5x5N3i564{2$5%015F020i5J5L5+5s0,5P5R5S2!5p4#5D2|4P4A0y4C4Q4F5T5 0,5F5=2@5U4U5t0E0;0P155*2@5}4!68014)0M4k675,0l5)5$5@5-0;5/5J6x5V5^5Q3*305M6y4J4Y5o5q5q6o6v4*62644E6k326d356a6D6e0,0s6g040e0z0c6W3e6P5,6q6s2!6Y3x6R4Q6.3a6o5.5I0u5i3/5_6H6#6Z5Y1.5#6t6y6`5B6@6~6A5:717b6E01740D5{3^5,6L4Z6O6n6u614B4D667f5,6!7k6$6p6)0w380A6|066m6^3X5u0*4,5n7B7c5k4^4`724V4K7Z606S7y656|6o5a765d5f6b6X6Q5k1X117t7v6y4)2p0R0c0z167E3q7x637z7L174c0O2w2X8b3{1q3}2z2B2x1X1Z2z0q1H8e0m3|0?8r0W0Y0!04.
Question 2 : fonction de tests

Compléter la fonction tests_etre_accompagne qui permet de tester la fonction etre_accompagne et renvoie True si la fonction est correcte, et False sinon.

Le jeu de tests devra donc être suffisant pour valider la version correcte et invalider les versions incorrectes. Le valeurs testées devront être dans le domaine de valeurs, à savoir comprises entre \(7\) et \(77\).

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

.128013buST3_4l(wn/)p8aPk:Fhors1v7c25mgydieft =050I0K0M0q0J0i0y0N0C0i0q0y0y0O010M0J0o010406050y0c0F0F0q0x0H040d0w0i0c0)0w0l050m0:0=0@0_0.0o041219051c0m1c1e190.0I0J0A0X0Z0#0%0v0J0G0v0i1s0v0M0,050S0b0i0K1n0!0$011r1t1v1t0M1B1D1z0M0b0w0I0_1A0x1a0M0v0X0|0y0o0q0l0%0D011F1p010L0U0K0l0q0F0K1z1%1)1.1H1;1D1@1_0,0a0N0r0x0w0o0w0y0J0 0l0N0Q1#0x0x0K0C2e121|0l1a0m1Z2r0M1X1W1Y0I1~0%1v0l1?2b1z1k1m0Y1G2B0J2D0l1T1l1z0o2k1a2p2r2V0/1(2f2J1/2O0x0?0i0,0z2o2Z0-2Y1}2#1H2%2)0,0D2-1)2/2p2A012@0q2*040f2{2q0.2~2=0%31330h362}2Z2 3c0,0E3f1b2T122H2u0I2y2 0C1T1`1a3q1d3o2X132.053v0Q2U3h3a010s0,0Q0L3m391o1H0k0,0N3Q3J3S3b0L0,0M0K0y0M0y0g0R2k0g0q0C3v0F1(0G2D3X2;3Z010+040j0n0t3f060N453W3R2K3L0,0J3P3D2|473Y490l0,3-0K3/3;0w3?0q3^0K3`2!3|3~0j4u2 0F0J0,0p4z3K3~0n3f4g3{490w3U040J0y4J2:4v4M4O2O0M4S481/0s0C0,0e0x0c4t4e2q4T2 3~424-044K4U4#0,2k0M0c0x114?4^2 4$0,0u320y4,2V44464/3K3M4P4d2V523K4j044l4n3=3@3_4?5d4w0,4y5s4!1H4B2+2`5x4h1/4H4Z5E1H4N4b4R515t4V0,4X5H4L4#4%04560V593E5y0%4;5S4_1H5f4|4~505i5O5U55575Z2|5b455:5*4b5h2.5j3|5l5n3:5p4r5r2X5#3}5v4F3|5A040B0B6c495G5N695K4P5M5/6m4W0w4Y6l5I0%545W5?6i5F0,4=6q6w4a045,4 5(535V5X58434660495+0R5-6L5e5V4)4+43123G0K2r2S6)3p1l3r2u2w2s1S1U2u0q1C6,0m3q0.6|0R0T0V04.
Question 3 : Recherche d'erreur

La fonction proposée comporte une erreur de logique.

En utilisant le jeu de tests ainsi que les préconditions et postconditions, déterminer cette erreur, puis la corriger.

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

.128013buST3_4l(wn/8p)aPk;:Fhors1v7c256mgydi9eNft =050K0N0Q0q0L0i0z0R0D0i0q0z0z0S010Q0L0o010406050z0c0H0H0q0y0J040d0x0i0c0-0x0l050m0@0_0{0}0=0o04161d051g0m1g1i1d0=0K0L0B0#0%0)0+0w0L0I0w0i1w0w0Q0:050W0b0i0N1r0(0*011v1x1z1x0Q1F1H1D0Q0b0x0K0}1E0y1e0Q0w0#100z0o0q0l0+0E011J1t010P0Y0N0l0q0H0N1D1+1-1=1L1^1H1{1}0:0a0R0r0y0x0o0x0z0L130l0R0U1)0y0y0N0D2i16200l1e0m1%2v0Q1#1!1$0K220+1z0l1`2f1D1o1q0$1K2F0L2H0l1X1p1D0o2o1e2t2v2Z0?1,2j2N1?2S0y0`0i0:0A2s2%0;2$212)1L2+2-0:0E2;1-2?2t2E012{0q2.040f2 2u0=322_0+35370h3a312%333g0:0F3j3c3l3e340x2,360:0G3q2@2(1s2`3v2|040C3A3d3D3f3F3x040n3J3s3L3u3w370M3j1f2X162L2y0K2C330D1X1~1e3$1h3!2#172=053+0U2Y3S2O010s0:0U0P3Y3K3}0k0:0R433|2*0P0:0V2o0g0q0D3+0H1,0I2H492^3T0/040j4o3C3}0l0:0q0I0N4u334r0p0u3q060R4J48442*4y4i0x4k4z4n3?304L4a1L0x0:0S3j4W4p3}0s0D0:0O144B4U3b4K4%4v1?3 040L424:044?3m4y4A4$3B334Z04020i0Q0t534M1L0H0L2/2~4}543t4r4G4}4I4=4K5k3T4x044h4j4l4T2Z4 3t564#4}5B3T4*0:0e0y0c4/2Z5p4J5s4)0:4{5c4X3f515N2=5G3}56020I5a5E5A5R1?5f5h5V4(1?0x465v0l0K5;4@2`5Y5|550:585*603t5/3H3I5j5d0+5m3q5q5r6b344O5x4S5Z4V5-4Y4!655H4+040v360z6m3b5P5#4^0:2o0Q0c0y155F6o5X5v4P4R4m6y2?0m3_0N2v2W6U3#1p3%2y2A2w1W1Y2y0q1G6X0m3$0=6.0V0X0Z04.