Aller au contenu

Comparaisons d'éléments⚓︎

Attention à l'arrêt

Pour les fonctions suivantes, il faut parcourir les listes en comparant les valeurs deux à deux. Il faut faire attention aux valeurs données en paramètres pour range :

Exercice 18 : valeurs_consecutives_egales(nombres)

Compléter le code de la fonction valeurs_consecutives_egales qui prend en paramètre une liste d'entiers nombres et renvoie True si deux entiers consécutifs sont égaux et False sinon.

Indices
Indice 1

Il faut comparer nombres[i] et nombres[i+1, où i est la variable de boucle.

Indice 2

Si on utilise range(len(nombres)), on obtient une jolie erreur parce qu'on essaie de comparer nombres[len(nombres)-1] et nombres[len(nombres)]. Or ce dernier n'existe pas.

Peut-être qu'il faut s'arrêter un peu plus tôt...

Indice 3

Il faut utiliser range(len(nombres)-1).

Exemples
>>> valeurs_consecutives_egales([5, 3, 5])  # les deux 5 ne se suivent pas directement
False
>>> valeurs_consecutives_egales([3, 5, 5])
True
>>> valeurs_consecutives_egales([3])
False

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
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

.128013bl53"oe:[1vS-mt)_g4(h+ds2 ]rk=/ian.pTcw Pyf7uF010p090h0z0y040q0G0E040z0q0q0w070h0y0C07000s010q0L0g0g0z0u0I000e08040L0%080A010x0,0.0:0=0*0p0y0d0G0/0u0v0p080F0A0#0c070G0q0h0I04090#1a0k0y0A0a0c0B0K090g0G0c1z1j0)0N170V0X0Z0#0n0y0k0n041N0n0h0(010Q031o1I0Y0!071M1O1Q1O0h1W1o1U0h0u001V0n0V0^0q0C0z1g070r1j0W1!0#0J0S090A0z0g091U1@1_1Z1K07221o25270(020G0H0u080C080q0y0{0A0G0O1=0u0u090E2t0~2a0A1/0x0h0n2G1-1/2L1V0p2c1#1Q0A242q1U16181~2d2S2U2X1U0C2z1/2E2G2*0+1^2u2Z1#0A080u0/040(0c2D2.1F2E2Q0#2=2@0z2_000r2|1_2~2.3107332^0(06392F0*302:322?3g000l3j3b2b3n3e3p350(053t0~2'092G2X2K0p2M2P3w0E080O2W171/3E2)2}3C3N0O3U3v1J1#0v0(0O0J3t0G2-3!203e0J0(0d35090L0u0q0j3N0A0q2A0`17093_090k3=0q3C3m3#0#0'000m483c3w0A0(2=0g032z47103V493-4c0i0a3t0s0G4y3*4r2d3%000J2?3)3+2/4a3e0(0y4H4B1#1e4M0}4p3a4A4g4K0A030(0u1_0k094f3,2d4c4e4U2F4I3d4Z0(2g4(4J4s0(4,2,4P324j084l4n4@3d4t543w080(0f574K0g0y2`5c4_004u4w4z5m4W4)3$4M3(4-005o4^2d4i004k4m425h4*0(0b5D2;4M5H4b0(0t4O4X3-59000w0w5O5p4~5z515B4o4|5P5E005G5t4/4h5J5)4}075R0o5K075e5g5-5%1#4c0t4v5t4x5n625*4K4D2z0h3@4T2*5v3d0v0E0(0D0u0L4'605m643-660P695V5w3$6f000M353}4w0~3X3F3D2(0~3H0~0h3J6I1.6I0z1X6D0x3H0*6R3R6T0O0Q0S0q00

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
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

.128013fn15up)me4PvtSlF 3ckTs"ro+.:(/d=2iyba ]h7[w_-g010x0b0f0D0A0h0o0j0l0h0D0o0o0y0p0f0A080p000E010o070a0a0D0q0B000g0r0h070%0r04010w0,0.0:0=0*0x0A0e0j0/0q0m0x0r0J040#050p0j0o0f0B0h0b0#1a0M0A040u050t0H0b0a0j051z1j0)0N170V0X0Z0#0G0A0M0G0h1N0G0f0(010Q0C1o1I0Y0!0p1M1O1Q1O0f1W1o1U0f0q001V0G0V0^0o080D1g0p0z1j0W1!0#030S0b040D0a0b1U1@1_1Z1K0p221o25270(020j0d0q0r080r0o0A0{040j0O1=0q0q0b0l2t0~2a041/0w0f0G2G1-1/2L1V0x2c1#1Q04242q1U16181~2d2S2U2X1U082z1/2E2G2*0+1^2u2Z1#040r0q0/0h0(052D2.1F2E2Q0#2=2@0D2_000z2|1_2~2.310p332^0(0k392F0*302:322?3g000c3j3b2b3n3e3p350(063t0~2'0b2G2X2K0x2M2P3w0l0r0O2W171/3E2)2}3C3N0O3U3v1J1#0m0(0O033t0j2-3!203e030(0e350b070q0o0K3N040o2A0`170b3_0b0M3=0o3C3m3#0#0'000v483c3w040(2=0a0C2z47103V493-4c090u3t0E0j4y3*4r2d3%00032?3)3+2/4a3e0(0A4H4B1#1e4M0}4p3a4A4g4K040C0(0q1_0M0b4f3,2d4c4e4U2F4I3d4Z0(2g4(4J4s0(4,2,4P324j0r4l4n4@3d4t543w0r0(0L574K0a0A2`5c4_004u4w4z5m4W4)3$4M3(4-005o4^2d4i004k4m425h4*0(0I5D2;4M5H4b0(0F4O4X3-59000y0y5O5p4~5z515B4o4|5P5E005G5t4/4h5J5)4}0p5R0s5K0p5e5g5-5%1#4c0F4v5t4x5n625*4K4D2z0f3@4T2*5v3d0m0l0(0n0q074'605m643-660P695V5w3$6f000i353}4w0~3X3F3D2(0~3H0~0f3J6I1.6I0D1X6D0w3H0*6R3R6T0O0Q0S0o00
Exercice 19 : deux_entiers_consecutifs(nombres)

Compléter le code de la fonction deux_entiers_consecutifs qui prend en paramètre une liste d'entiers nombres et renvoie la liste des couples d'entiers consécutifs qui se suivent dans la liste.

Exemples
>>> deux_entiers_successifs([3, 4])  # 3 et 4 sont des entiers consécutifs
[(3, 4)]
>>> deux_entiers_successifs([1, 3, 4, 2])
[(3, 4)]
>>> deux_entiers_successifs([1, 3, 7, 4, 2])  # 3 et 4, et 1 et 2 ne se suivent pas
[]
>>> deux_entiers_successifs([4, 3, 2, 1]) # les entiers ne sont pas dans le bon ordre
[]
>>> deux_entiers_successifs([1, 2, 3])
[(1, 2), (2, 3)]

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
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

.128013c12(S-ox46a5 ywpfg[ih sd3v]_m:",Pnb)uk.ltre+=/7010q0J0H0d0m0G0p0o030G0d0p0p0L0x0H0m0i0x000f010p0D0v0v0d0I0g0007090G0D0&090A010M0-0/0;0?0+0q0m0s0o0:0I0E0q090h0A0$040x0o0p0H0g0G0J0$1b0k0m0A0w040F0N0J0v0o041A1k0*0O180W0Y0!0$0n0m0k0n0G1O0n0H0)010R0B1p1J0Z0#0x1N1P1R1P0H1X1p1V0H0I001W0n0W0_0p0i0d1h0x051k0X1#0$0j0T0J0A0d0v0J1V1^1`1!1L0x231p26280)020o0z0I090i090p0m0|0A0o0P1?0I0I0J032u102b0A1:0M0H0n2H1.1:2M1W0q2d1$1R0A252r1V1719202e2T2V2Y1V0i2A1:2F2H2+0,1_2v2!1$0A090I0:0G0)042E2/1G2F2R0$2?2^0d2`00052}1`302/320x342_0)0r3a2G0+312;332@3h000b3k3c2c3o3f3q360)0e3u3m3d3x3g3A000c3u102(0J2H2Y2L0q2N2Q3x03090P2X181:3N2*2~3L3W0P3%3w1K1$0E0)0P0j3u0o2.3+213f0j3/0J0D0a0u250&0J0I0p0u0-03030J0!0m0j0p3L3n3,0$0(00064g3F4i3f0)2?0v0B2A4f113&4h3_4k0C0w3D0o4F3?4z2e0A0)2A2q0A0p0J3=3@2:4p090)0L4R4I1$4k0l0t4E4G4S3e3.000j2@4Y4o3_4K000m4.3^2e1f0)1u4@4T4:0B4L1`0k4Q4x3b4(3x4k4m562G584p0A51002h4n4^4!0)5b2-4Z334r094t4v5k4~2e4B5w3e4V00085A3x0v0m2{5F4p4B4D5c0*4G5Q4H4/2e4*4d4}3e4;4s4u4b5K4A0)0l5%4J4{5)5m004%5O5e3_5C0K5,1r5I002|5O5S5l0$5C0L4X5}5;5*005!5v5:5q0x4#5^4q4=6f5?6f5H5J6b5T5-0t5N2+0f5R6u5~5x2=4L0J4N4P6i0)0F6f4;0d0i0i250q6f5a5o4y6o5r685t5#4w5p6R6d5'6G5+6n606Z5.0y5X3G5s5u5$6%6x4j6!6/5Y6$6X6&6j6?5G5`5|6_6:6'0t0C0C4&4F663-6z0H0D0I0~656c4;4M0}6C5O0+0M3(3O3M2)103Q100H3S7v1/7v0d1Y7q0M3Q7n7F7t0Q0S0U00

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
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

.128013=bn6df tuSroyec2[)+/i hm53]P(,"ak1:47w.vpx_gs-l01070g0a0y0n0N0L0o0h0N0y0L0L030x0a0n0H0x0009010L0b0q0q0y0d0f000c0e0N0b0&0e05010m0-0/0;0?0+070n0G0o0:0d0z070e0E050$0A0x0o0L0a0f0N0g0$1b0K0n050B0A0F0D0g0q0o0A1A1k0*0O180W0Y0!0$0p0n0K0p0N1O0p0a0)010R041p1J0Z0#0x1N1P1R1P0a1X1p1V0a0d001W0p0W0_0L0H0y1h0x0i1k0X1#0$080T0g050y0q0g1V1^1`1!1L0x231p26280)020o0u0d0e0H0e0L0n0|050o0P1?0d0d0g0h2u102b051:0m0a0p2H1.1:2M1W072d1$1R05252r1V1719202e2T2V2Y1V0H2A1:2F2H2+0,1_2v2!1$050e0d0:0N0)0A2E2/1G2F2R0$2?2^0y2`000i2}1`302/320x342_0)0s3a2G0+312;332@3h000C3k3c2c3o3f3q360)0r3u3m3d3x3g3A00063u102(0g2H2Y2L072N2Q3x0h0e0P2X181:3N2*2~3L3W0P3%3w1K1$0z0)0P083u0o2.3+213f083/0g0b0I0J250&0g0d0L0J0-0h0h0g0!0n080L3L3n3,0$0(000v4g3F4i3f0)2?0q042A4f113&4h3_4k0k0B3D0o4F3?4z2e050)2A2q050L0g3=3@2:4p0e0)034R4I1$4k0j0t4E4G4S3e3.00082@4Y4o3_4K000n4.3^2e1f0)1u4@4T4:044L1`0K4Q4x3b4(3x4k4m562G584p0551002h4n4^4!0)5b2-4Z334r0e4t4v5k4~2e4B5w3e4V000M5A3x0q0n2{5F4p4B4D5c0*4G5Q4H4/2e4*4d4}3e4;4s4u4b5K4A0)0j5%4J4{5)5m004%5O5e3_5C0l5,1r5I002|5O5S5l0$5C034X5}5;5*005!5v5:5q0x4#5^4q4=6f5?6f5H5J6b5T5-0t5N2+095R6u5~5x2=4L0g4N4P6i0)0F6f4;0y0H0H25076f5a5o4y6o5r685t5#4w5p6R6d5'6G5+6n606Z5.0w5X3G5s5u5$6%6x4j6!6/5Y6$6X6&6j6?5G5`5|6_6:6'0t0k0k4&4F663-6z0a0b0d0~656c4;4M0}6C5O0+0m3(3O3M2)103Q100a3S7v1/7v0y1Y7q0m3Q7n7F7t0Q0S0U00
Exercice 20 : palindrome(texte)

Un palindrome est un texte qui peut se lire de la même manière dans les deux sens, comme kayak.

Compléter le code de la fonction palindrome qui prend en paramètre une chaîne de caractères texte et renvoie True si le texte est un palindrome et False sinon.

Indices
Indice 1

Si on suppose que texte a n caractères, alors les indices des symboles de texte sont :

caractère de gauche à droite de droite à gauche
premier 0 n-1
deuxième 1 n-2
troisième 2 n-3
... ... ...
avant-dernier n-2 1
dernier n-1 0
Indice 2

Si on parcourt de gauche à droite avec un indice de boucle i, alors les indices des symboles devant se correspondre sont :

premier symbole deuxième symbole i
0 n-1 0
1 n-2 1
2 n-3 2
... ...
n-2 1 n-2
n-1 0 n-1
Indice 3

Le symbole d'indice i correspond au symbole d'indice n-1-i.

Exemples
>>> palindrome("kayak")
True
>>> palindrome("ABBA")
True
>>> palindrome("chateauaetahc")
True
>>> palindrome("kay ak")
False
>>> palindrome("abcd")
False

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
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

.128013l34PTfv_u2nF"ir]b&p;I1)e6=0h!,dLgta[éyq-'sx RS5(o: ./wkcm7010x0q0A0B0g030I0K0W030B0I0I0s0f0A0g0l0f000R010I0b0X0X0B0h0E000M0P030b0;0P0d0K0k0B0X0l0m0K0L0q0~0h0F0b0q0I010T0{0}10120_0x0g090K1k0V0x0P0U0d0/0o0f0K0I0A0E030q0/1k0z0g0d0Q0o0S0Y1j0K0o1j1J0^0Z1y0)0+0-0/0u0g0z0u031.0u0A0@010$0j1O1)0,0.0f1-1/1;1/0A1`1O1^0A0h001_0u0)150I0l0B1G0f0c1J0*1~0/080&0q0d1d0q1^2h2j1}1+0f2r1O2u0X2w00020K060h0P0l0P0I0g181a0!2f0h0h0q0W2S1q2y0d2c0T0A0u2&2a2c2+1_0x2A201;0d2t2P1^1x1z2o2B2=2@2`1^0l2X2c2$2&360`2i1a2|200d0P0h0~030@0o2#3a1&2$2:0/3e3g0B3i000c3l2j3n3a3p0f3r3h0@043x2%0_3o3c3q3f3E00053H3z2z3L3C3N3t0@0N3R3J3A3U3D3X000r3R1q330q2&2`2*0x2,2/3U0W0P0!2_1y2c3,353m3*3^0!403T1*200V0@0!083R0K39462p3C080@2i2=0x2M2G3*3K470/0?000O4q3$4s3C0@0A0q0J4C4x4g2B4u0p0Q3!0K4N4e4r4h0d0@0d4d4f3b4z0P0@0s4V4Q2B0d0j0@2E4G4X4h4u4w1r414%3d4B4D4F4:3y4W3B4J4M4O4|3U4900083f4$4y4R0@0g584H201E5b4U4`2%4P594&4(000h2j0z0q4+4}0@4/384=3q4T5u3U4Z000T0T5C4z0X0g0@3w5j454,4I0@4K504O515z0f540g4c5O5l5e5A004C4E5t5O524z4u0C5I5a005c5,5X4u0i5d5Q5f0@0v4#5$5-5=5)4_5y5m205/5;4&5B5^690/5E0G6c205K3j6k6h0@6j6f5&4A5?6o0f5`4L5O0R5V6C5W6g5Y0@2X0A0b0h5i365%5}0/0V0W0@0e3t0I5+366B6E6t546I6K6M3m6O3B6R0@070h1n3!1q433-3+341q3/1q0A3;6{2b6{0B1{6?0T3/0_0l5P3B2X0X0a080B0V0q0a0u040@1i1k1m1o0K6z380T7877000y1.2?0K090g0!3+1&780n031K0b082r0A0K2U2i0h3^6K0g0h0K0+1A0P2R0g0D7O0b0K660q0w0K0l0b0g0I7o7W0H0B172X7Y7!0D0q0K1o7N170&7.7{7+0P6K7W7p3^1e100%0I190I0S7E7v0M0g4e6=3B221:1=1@793%4@5*6w6b6s6P0f6m000t8x0@5{635X5E0s626N646d5(4^6X4;6F8y686t4S006'4{8J6q6w8C3k8z5v008H7s6=007*3t3f0(190K0B8^0b0-8l018n3U8p241?2x6F8Y7(8F005:8)8u8Z6w6i8&5L008(8W8A5`5|3B8K8M6(8O4?8Q8w9c5.0@9b9l3B8C8E9x4-8G3*0T8.8h7t7F7w7y7|7B7D9M0_753|9U0!0$0&0I00

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
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

.128013:)xI01k6Rt/.h[T_e(f&wq;ay d!vS2l 5'oP3cnbF7u-é],mpgs4Lr"i=010t0j0c0q0X0y0S0z0F0y0q0S0S0Y0W0c0X0Q0W000s010S0K0P0P0q0V0r000w0C0y0K0;0C0G0z0m0q0P0Q0p0z0b0j0~0V0o0K0j0S010d0{0}10120_0t0X0v0z1k090t0C0n0G0/080W0z0S0c0r0y0j0/1k0R0X0G03080e0J1j0z081j1J0^0Z1y0)0+0-0/0f0X0R0f0y1.0f0c0@010$0H1O1)0,0.0W1-1/1;1/0c1`1O1^0c0V001_0f0)150S0Q0q1G0W0x1J0*1~0/0l0&0j0G1d0j1^2h2j1}1+0W2r1O2u0P2w00020z0D0V0C0Q0C0S0X181a0!2f0V0V0j0F2S1q2y0G2c0d0c0f2&2a2c2+1_0t2A201;0G2t2P1^1x1z2o2B2=2@2`1^0Q2X2c2$2&360`2i1a2|200G0C0V0~0y0@082#3a1&2$2:0/3e3g0q3i000x3l2j3n3a3p0W3r3h0@0E3x2%0_3o3c3q3f3E000T3H3z2z3L3C3N3t0@0A3R3J3A3U3D3X000a3R1q330j2&2`2*0t2,2/3U0F0C0!2_1y2c3,353m3*3^0!403T1*20090@0!0l3R0z39462p3C0l0@2i2=0t2M2G3*3K470/0?000k4q3$4s3C0@0c0j054C4x4g2B4u04033!0z4N4e4r4h0G0@0G4d4f3b4z0C0@0Y4V4Q2B0G0H0@2E4G4X4h4u4w1r414%3d4B4D4F4:3y4W3B4J4M4O4|3U49000l3f4$4y4R0@0X584H201E5b4U4`2%4P594&4(000V2j0R0j4+4}0@4/384=3q4T5u3U4Z000d0d5C4z0P0X0@3w5j454,4I0@4K504O515z0W540X4c5O5l5e5A004C4E5t5O524z4u0g5I5a005c5,5X4u0N5d5Q5f0@0u4#5$5-5=5)4_5y5m205/5;4&5B5^690/5E0L6c205K3j6k6h0@6j6f5&4A5?6o0W5`4L5O0s5V6C5W6g5Y0@2X0c0K0V5i365%5}0/090F0@0I3t0S5+366B6E6t546I6K6M3m6O3B6R0@0h0V1n3!1q433-3+341q3/1q0c3;6{2b6{0q1{6?0d3/0_0Q5P3B2X0P0i0l0q090j0i0f0E0@1i1k1m1o0z6z380d7877000U1.2?0z0v0X0!3+1&78060y1K0K0l2r0c0z2U2i0V3^6K0X0V0z0+1A0C2R0X0M7O0K0z660j0O0z0Q0K0X0S7o7W0B0q172X7Y7!0M0j0z1o7N170&7.7{7+0C6K7W7p3^1e100%0S190S0e7E7v0w0X4e6=3B221:1=1@793%4@5*6w6b6s6P0W6m00078x0@5{635X5E0Y626N646d5(4^6X4;6F8y686t4S006'4{8J6q6w8C3k8z5v008H7s6=007*3t3f0(190z0q8^0K0-8l018n3U8p241?2x6F8Y7(8F005:8)8u8Z6w6i8&5L008(8W8A5`5|3B8K8M6(8O4?8Q8w9c5.0@9b9l3B8C8E9x4-8G3*0d8.8h7t7F7w7y7|7B7D9M0_753|9U0!0$0&0S00