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é.

La 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.

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 `#!py 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

.128013s3o_8;bcdufvg/T0ly n7apSr1Fme(P2=4:Ntwki95h)6050j0D0L0w0O0r0b0t0i0r0w0b0b0H010L0O0x010406050b0k0C0C0w0z0s040y0d0r0k0.0d0u050o0^0`0|0~0?0x04171e051h0o1h1j1e0?0j0O0m0$0(0*0,0R0O0n0R0r1x0R0L0;050X0h0r0D1s0)0+011w1y1A1y0L1G1I1E0L0h0d0j0~1F0z1f0L0R0$110b0x0w0u0,0G011K1u010l0Z0D0u0w0C0D1E1,1.1?1M1_1I1|1~0;0a0t0F0z0d0x0d0b0O140u0t0V1*0z0z0D0i2j17210u1f0o1(2w0L1$1#1%0j230,1A0u1{2g1E1p1r0%1L2G0O2I0u1Y1q1E0x2p1f2u2w2!0@1-2k2O1@2T0z0{0r0;0t0A2t2(0=2%222*1M2,2.2:0G2?1.2^2u2F012}0w2/040t0c312v0?342{0,37390t0I3d332(353j2:0Q3n3f3p3h360d2-382:0T3u2_2)1t2|3z2~3a0v3E3g3H3i3J3B3a0f3N3w3P3y3A3k0P3V2`3X3r040A0q3$3G2P3Y3K0A2=182@1g2Y172M2z0j2D350i1Y1 1f3|1i3`2$3@3205410V2Z3W3/0N0;0V0l3n3F350M2:4l3O3/0u0l0;0W2p0e0w0i410C1-0n2I4q4f1@0:040E4G3%4s0;0w0n0D4M3.4I0;0S0J3u0t4!0t4m3x4h041L0D0z0L3n4$4r2+0h0;0L0s0x4S492v4%3X4J4L4|4e4N2+4P4R4T354J0S583x0d0;0H0H5c3(4?042R4.52064#4:4H1M4)4+4-4/4~4O4*57525y1@5e04020n0L0g5h5C4;1M0C0O0;3M525r541M0d4o4*0u0j5x5N3i564{2$5%015F020r5J5L5+5s0,5P5R5S2!5p4#5D2|4P4A0d4C4Q4F5T5 0,5F5=2@5U4U5t0i0;0K155*2@5}4!68014)0O4k675,0u5)5$5@5-0;5/5J6x5V5^5Q3*305M6y4J4Y5o5q5q6o6v4*62644E6k326d356a6D6e0,0N6g040p0z0k6W3e6P5,6q6s2!6Y3x6R4Q6.3a6o5.5I0g5i3/5_6H6#6Z5Y1.5#6t6y6`5B6@6~6A5:717b6E01740v5{3^5,6L4Z6O6n6u614B4D667f5,6!7k6$6p6)0B380b6|066m6^3X5u0*4,5n7B7c5k4^4`724V4K7Z606S7y656|6o5a765d5f6b6X6Q5k1X117t7v6y4)2p0L0k0z167E3q7x637z7L174c0D2w2X8b3{1q3}2z2B2x1X1Z2z0w1H8e0o3|0?8r0W0Y0!04.
Question 2 : fonction de tests

Compléter la fonction tests_etre_abonne qui permet de tester la fonction etre_abonne 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.

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

.128013s3o_8bcdufvg/Tly n7apSr1Fme(P2=4:twki5h)050i0B0I0u0L0p0b0r0h0p0u0b0b0F010I0L0v010406050b0j0A0A0u0x0q040w0d0p0j0)0d0s050n0:0=0@0_0.0v041219051c0n1c1e190.0i0L0l0X0Z0#0%0N0L0m0N0p1s0N0I0,050S0g0p0B1n0!0$011r1t1v1t0I1B1D1z0I0g0d0i0_1A0x1a0I0N0X0|0b0v0u0s0%0E011F1p010k0U0B0s0u0A0B1z1%1)1.1H1;1D1@1_0,0a0r0D0x0d0v0d0b0L0 0s0r0Q1#0x0x0B0h2e121|0s1a0n1Z2r0I1X1W1Y0i1~0%1v0s1?2b1z1k1m0Y1G2B0L2D0s1T1l1z0v2k1a2p2r2V0/1(2f2J1/2O0x0?0p0,0y2o2Z0-2Y1}2#1H2%2)0,0E2-1)2/2p2A012@0u2*040c2{2q0.2~2=0%31330G362}2Z2 3c0,0M3f1b2T122H2u0i2y2 0h1T1`1a3q1d3o2X132.053v0Q2U3h3a010K0,0Q0k3m391o1H0J0,0r3Q3J3S3b0k0,0I0B0b0I0b0e0R2k0e0u0h3v0A1(0m2D3X2;3Z010+040C0O0H3f060r453W3R2K3L0,0L3P3D2|473Y490s0,3-0B3/3;0d3?0u3^0B3`2!3|3~0C4u2 0A0L0,0f4z3K3~0O3f4g3{490d3U040L0b4J2:4v4M4O2O0I4S481/0K0h0,0o0x0j4t4e2q4T2 3~424-044K4U4#0,2k0I0j0x114?4^2 4$0,0z320b4,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|5A040t0t6c495G5N695K4P5M5/6m4W0d4Y6l5I0%545W5?6i5F0,4=6q6w4a045,4 5(535V5X58434660495+0R5-6L5e5V4)4+43123G0B2r2S6)3p1l3r2u2w2s1S1U2u0u1C6,0n3q0.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

.128013s3o_8;bcdufvg/Tly n7apSr1Fme(P2=4:Ntwki95h)6050j0C0K0v0N0q0b0s0i0q0v0b0b0G010K0N0w010406050b0k0B0B0v0y0r040x0d0q0k0-0d0t050o0@0_0{0}0=0w04161d051g0o1g1i1d0=0j0N0m0#0%0)0+0Q0N0n0Q0q1w0Q0K0:050W0h0q0C1r0(0*011v1x1z1x0K1F1H1D0K0h0d0j0}1E0y1e0K0Q0#100b0w0v0t0+0F011J1t010l0Y0C0t0v0B0C1D1+1-1=1L1^1H1{1}0:0a0s0E0y0d0w0d0b0N130t0s0U1)0y0y0C0i2i16200t1e0o1%2v0K1#1!1$0j220+1z0t1`2f1D1o1q0$1K2F0N2H0t1X1p1D0w2o1e2t2v2Z0?1,2j2N1?2S0y0`0q0:0z2s2%0;2$212)1L2+2-0:0F2;1-2?2t2E012{0v2.040c2 2u0=322_0+35370H3a312%333g0:0P3j3c3l3e340d2,360:0S3q2@2(1s2`3v2|040u3A3d3D3f3F3x040f3J3s3L3u3w370O3j1f2X162L2y0j2C330i1X1~1e3$1h3!2#172=053+0U2Y3S2O010M0:0U0l3Y3K3}0L0:0s433|2*0l0:0V2o0e0v0i3+0B1,0n2H492^3T0/040D4o3C3}0t0:0v0n0C4u334r0R0I3q060s4J48442*4y4i0d4k4z4n3?304L4a1L0d0:0G3j4W4p3}0M0i0:0J144B4U3b4K4%4v1?3 040N424:044?3m4y4A4$3B334Z04020q0K0g534M1L0B0N2/2~4}543t4r4G4}4I4=4K5k3T4x044h4j4l4T2Z4 3t564#4}5B3T4*0:0p0y0k4/2Z5p4J5s4)0:4{5c4X3f515N2=5G3}56020n5a5E5A5R1?5f5h5V4(1?0d465v0t0j5;4@2`5Y5|550:585*603t5/3H3I5j5d0+5m3q5q5r6b344O5x4S5Z4V5-4Y4!655H4+040A360b6m3b5P5#4^0:2o0K0k0y155F6o5X5v4P4R4m6y2?0o3_0C2v2W6U3#1p3%2y2A2w1W1Y2y0v1G6X0o3$0=6.0V0X0Z04.