Points de rupture

L’ordre des gĂšnes sur un chromosome est reprĂ©sentĂ© par un tableau ordre de n cases d’entiers distincts deux Ă  deux et compris entre 1 et n.

Par exemple, ordre = [5, 4, 3, 6, 7, 2, 1, 8, 9] dans le cas n = 9.

On dit qu’il y a un point de rupture dans ordre dans chacune des situations suivantes :

  • la premiĂšre valeur de ordre n’est pas 1 ;
  • l’écart entre deux gĂšnes consĂ©cutifs n’est pas Ă©gal Ă  1 ;
  • la derniĂšre valeur de ordre n’est pas n.

Par exemple, si ordre = [5, 4, 3, 6, 7, 2, 1, 8, 9] avec n = 9, on a

  • un point de rupture au dĂ©but car 5 est diffĂ©rent de 1
  • un point de rupture entre 3 et 6 (l’écart est de 3)
  • un point de rupture entre 7 et 2 (l’écart est de 5)
  • un point de rupture entre 1 et 8 (l’écart est de 7)

Il y a donc 4 points de rupture.

Compléter les fonctions Python est_un_ordre et nombre_points_rupture proposées pour que :

  • la fonction est_un_ordre renvoie True si le tableau passĂ© en paramĂštre reprĂ©sente bien un ordre de gĂšnes de chromosome et False sinon. Elle doit renvoyer True si le tableau passĂ© en paramĂštre est de longueur n et contient tous les entiers de 1 Ă  n, False sinon

  • la fonction nombre_points_rupture renvoie le nombre de points de rupture d’un tableau passĂ© en paramĂštre reprĂ©sentant l’ordre de gĂšnes d’un chromosome.

Exemples

🐍 Console Python
>>> est_un_ordre([1, 6, 2, 8, 3, 7])
False
>>> est_un_ordre([5, 4, 3, 6, 7, 2, 1, 8, 9])
True
>>> nombre_points_rupture([5, 4, 3, 6, 7, 2, 1, 8, 9])
4
>>> nombre_points_rupture([1, 2, 3, 4, 5])
0
>>> nombre_points_rupture([1, 6, 2, 8, 3, 7, 4, 5])
7
>>> nombre_points_rupture([2, 1, 3, 4])
2
Compléter le code ci-dessous

###(DĂ©s-)Active le code aprĂšs la ligne # Tests (insensible Ă  la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Ctrl+Clic pour inverser les colonnes)
Entrer ou sortir du mode "plein Ă©cran"
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

.128013y1-]/wi_qP+r 7F9fg;2Ràh)(pn0ldT,4kée!bmc:35a=o[.8t6sSÚuxv050E0K0Y0S0h0D0!0n0O0D0S0!0!0T010Y0h0A010406050!0%0N0N0S0m0b040#0U0D0%0}0U0B050f1416181a120A04051q1j1t0f1q120E0h0)0=0@0_0{0x0h0s0x0D1H0x0Y10050-0M0D0K1C0^0`011G1I1K1I0Y1Q1S1O0Y0m1r0Y0x0=1d0!0A0S0B0{0u011U1E010r0/0K0B0S0N0K1O1;1?1{1W1~1S2123100a0n0k0m0U0A0U0!0h1g0B0n0+1/0m0m0K0O2o1j260B1r0f1-2B1*1,1+1P0E280{1K0B202l1O1z1B0?1V2L0h2N0B0U2R1O0A2u1r2z2B2)131=2p2T1|2Y0m170D100n0c2y2-112,272/1W2;2?2^0u2{1?2}2z2K01320S2@040n0Q362A1239300{3c3e0n0H3i382-3a3o2^0R3s3k3u3m3b0U2=3d2^0Z3z2~2.1D313E333f0o3J3l3M3n3O3G3f0X3S3B3U3D3F3p0q3!2 3$3w040c0C3+3L2U3%3P0c2`1k2|3A3,3@3.0c353|373~3?2:3W3e0c3h443j3K3v49100c3r4d3t3 483(4i3y4l464g4p3/3I4s4f3C413R4y3T404h3/3Z4D3#4F4v0c3*4J4n3N4v0u3;4P474R3P0u3{2)4t4A4G0u434#4z3-4(4c4+4E4o4Y4k4:4K4=3X0u4r4^4Q3V4S4x4~4W504Y4C534u4Y4I584%4S4O5c4-4v0Q4U5g4L3P0Q4!3}4,5m3X0Q4*5q4;4X5t4/5w4_5y3e0Q4@2|1u2%1j2R2E0E1,2J3C0O2Z241r5L1s5J2+4l055R0+2(5C0{0I100+0r3s0n5r2:0r100K0!0Y0i0%0B0i3E0E2u3s5:1W0 040z615x3n101Q675(01640y0P3=3a0g2^0n6m6c4 010!0E1002030Q0q0t6u6w6y6v6x6i3C6r6l6m0v200)0U0h1T0F0m0%1T2m0n1Q0n5@0Y2q1T0D1h0s6R0%0m0n2p0,1/0B0}206Y0Y0U0%0;1S0!6E3$6G3f6m6W6/6N0m0;2r0c0n0w6+0G0n0p3d0!6S2W1h6|3@6~700n6z6x7o6B6A3z7m6269041i4l5/68010U100T5.7v3b0M102b6o546e10665Z7B0B6a0S0M7M3a6f7t707H0O0c10030n6`716:740n0)6^7+3E750%0n1=0m5R6)6{4s7u7S107;7 2)7A6d7D047F7z7H640V0e5.0606816d5*040r3E7G82040(8q886k042W8u6p7T046b7R6d646h807m7#7B8m0h5-8c8r8t8P886t0D0Y0t8z7N0N0h4i8Y3a0U8w8p8S8A108R867H89020s8W8%4A107y8:7B8)108+8}6d8B8/2|876p8 8x8|967H8B847X3C8G8h8J9k977N8m2u0Y6)9b379m3a0I0O107d0:0K7!9k9d836^9g3$890W9H40100S0A0A200E9L1|647Q2+8Q9T63100y9j8K8l109p9r8_3$9w106P6R3z4$9.5+0K8O928A5=7x0U0N0M2u0i2k2W0Y0!0i6Q0A9q608E6p9V9Z7w5~ad9X8F9#8H5l1|8w7uae7N6~7qaw6C8X4V3a7l706J0B6L6N7+1T2Ya12u6Z7`6M6/aNaaac1T2raj1T0j0%0h0n2u2$0J7f6/1T7j1|aC6m5{0naWaN0s0$2N751T0O0x2i0N2la09BaA6F6s6 6max6A7q9C9u5Q7(047*1h7:0J0m8NaHaY1Ta=6X0na:a=2ra@a_bb7H8m1V0K0m0Y9-9M046X5`5|aWah7O65bL8BbKat7Y9#9%6n8r9s2Abc9I7EbE2:7J047LbR9h7PbO900m5 b2alafbT8IbV938{7W8,7N898b9|8Z8#045k3}8k6p8M9{9c8rbQb?7N8ebL8!10c6378d108gb~8(100Lc1cc6dcj3/bL9icqbd7)aI7`2u8!bB6+7qbq1=0;77bbc87N8B0Bb}c2cr8ab$31b|cY0{890lc#01cx5p45cQ3v100hc)c0c)cxcl3jc.3C8m0g1G1Sc)8Bc;cBb!04028VazcV8`7xc=100dc@c4c,2Acn04ao968j9lbyc:cb9t9E04ce5H7Bchb+3-c:dd04c(d43@c+czcodDdfdG2:b/b;dJ040Vb.8xdRcpda9I8w2YbDdN1W998yd%0{dzcfcWdMd.3CdIdA3@640Gdg8$d@9Ucodmdt7B7%cD0D7q0J0O186Y0BcK5^7`0^2_5/b_9lb`8-7xcUcv98b#d+3bc!erc%d{cyeic{dBdVeueqdYbFd3eE1|everd?4#ez3@cad1dPakdxamdSdUeGeTb@04dXeob cscue1b{dcd}9!dlc)e3bfcE0+0m0B73cJaycLef2pcP9(elcTdDe)bYduf3eCdEewdi11eN1|9o0,9,ercSen451j5#0K2B2$fp5K1A5M2E2H2C7V1S2B5L120f0+0-0/0!04.