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

Python Console Session
>>> 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"
(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

.128013qnié4 p0!ts5vb();gwFah:+Tx2ce,fd67m=]3y_9àu8[/è1Plo-RrSk.050G0D0k0v0d0Y0l0g0C0Y0v0l0l0K010k0d0h010406050l0R0J0J0v0$0N040%0Z0Y0R0}0Z0c050U1416181a120h04051q1j1t0U1q120G0d0n0=0@0_0{0@0c0s0R0v0s0D0!0h0N0k0w1h0g0w0d0s0w0Y1V0w0k10050-0o0Y0D1C0^0`011U1W1Y1W0k1(1*1$0k0$1r1Q0=1d0l0h0v0c0{0B011,1E010F0/0D0c0v0J0D1$2123281.2b1*2e2g100a0g0X0$0Z0h0Z0l0d1g0c0g0+1 0$0$0D0C2B1j2j0c1r0U1Q2O1{1}1|1%0G2l1F0d0c2d2y1$1z1B0?1-2Y2!0c0Z2(1$0h2H1r2M2O2^13222C2*292.0$170Y1$0v1T2H0F0{030O0O0C2/0D1Y2-0Z0!0W3j100g0W1j0v2_2|112{2k2~1.303234360D38013a3c3e3g2#3j0!26040g0B3p3r233t2M2X013y0v331r350w37393b3d0+3I2.3K0M3m0M3Q2L3s123U3w0{3X3Z053#3%3E3)3H2Z3J3k0f3m0f3=1k3@3u2}1D3x0Z313Y3A3$3C3(3G3+443-3k0m3m0m4a2^3^2|3V3|4k403F3*3f4q3i3k0H3m0H4w4c3_4f3{4h3z3!3B3D4E433h3K0I3m0I4N3S4y3v4Q3W4S4j4U4l4W424p4Z3k0S3m0S4(2N4*4e2+4-4i3}3 4m414o4G4^0!0P3m0P4}3T4z3`524T3~4V4n4F3,4I3j0i100W0i5f4 4A4.545m575o4H3K0W0W5t3o0U3q3?4)4d5y534C564X4@453j3M0W3P5K3R4~5O5i4B4:4D4?595V0W3/045/5w5%4,5)5l4;5n4Y5.475;495!5M5$4P515_554=585p5F4t5;4v624b5N652 5z5R695D5a0W4K5;4M6g4x5@666l5*5S5,6b3k0W4#5;4%6u4O5h5^6y5`5+6a5E6D4`5;4|6I6i6K6x5Q6z6n5}4r3j5c5;5e6V646X6k6Z6N6A6P5a0B5s046^5?6j4g6:685|5U6%0B5H6`5J5L6h6-4+6Y5k705C6$5q0B3M7i6|6.6~7d5B5T5-735:0B3;6,5g7b6/7o5{7f727h5 0B61786v6}4R6 7p6B6Q3L6d0B6f7I6J7y7n4/6;6#7D3K0B6r7%7l7W7L7A6O6o5V0B6F7;7*507z7Y7e7q6C3L6S0B6U7U6W7+5j7`7N6?7:6)0B6+827a7^7X5A7B7|7P0M6_8l7@5P7-6=7/6%0M758u8o5(6M7{7O5a0M3M8D8x6L7M8i8B5V0M5:8M8G7c868J888t5 0M7H5#2O2=0D2O2(2R0G1}2W5i4F2%1A1r8!2@3s631r4F8=2k0d0G0{3b2M5F3A8|8~8T5q5H0g2p0D948s961$627K010(100+0F8@6w290t3m9m9g0c0F100D0l0k0O0R0c0O4h0G2H9r7m0{0 040p9G840c101(9M8f9I100q0x8@12798`2C93018 2|7$928}9%959*982f9a9-9c9*2O5L9g9p3N0g9~9R3V0l0G1002030M0P0ra5a7a9a6a89Xa09$9(233.9+9b7gak9:2gam7#3k5:3=9ga23m9~0g0#2d0n0Z0d1+0z0$0R1+2z0g1(0g9w0k2D1+0Y1h1I0D0R0$98aOaQ3d0c0}2daQ0k0Z0R0;1*0laf9Z5Oah0O9046al9?ana`ap9=8K6%5 av9H01ax9}9~a)aF0$0;2E0W0g0Q980E0g0u3Y0laK2Z1ha;2`3Ua@a_0!6d5la@9@4s2799ar7r5qbx9fb5b7az0gaaa8bNacabbr8?bt9,ai0c3K6rbybV9.4JbC9;bE7}bZ5!bL9n3x101i9Z0gb/0{0Z100K8@b@9s0o102oa05i9J9La=9s9P0v0oc34,9J0qbS3Sa?b#bv6Fb!b*7P4#a cn5aclb-azb^010C75030ga/aOa%bb0;0na-cB4hbd0R0g220$3daXa:9Z9Ybs4zbu9)4_a{b15q4`cqa|as0!6S3Qb.c804cHcS2^b~b5b`04b|b?cw9J0T0Lb}cUbTcWcjcY5bc!b$d7c(c#3K6)3Qd2chbU94bv5ud8bA5rb(aqc)bF5F6_c-cv9g9i040F4hb}cw9O040AdC9g0Z9|2ZdHb5dE9Qc7b59J9WcTagd5aj6D75cmdr7}5Gdpb0d9d%9_b8bLc@84dy0d9lc|c/dGd@c^a40Y0k0rdM840J0d5te09S01dJ10dBd`9N10d_c?cwc_020sd~e54Ab;el5ie804eaefd^eo4,eqdLebe6dEc;cc51dSd1dVdjd65Ydma}5Wd(cr5.3Mdvd.d.cwdy2H0kaXb=etb50(0C10bl0:0Dcg2NcieIdX3jau35bzeM5/eOd#7Pe`d,eT9 c/eCdQ84c_0)eD2 100v0h0h2d0Gf81.c5fg3{edfj01ceeGf49#dWbX6Db3e@b#dn0W47dbd*b3cuf1e$10eXeZev51e%10aHaJe-9!0gcXe;0WbxfweP6%fVe{dc6DbH3qdge.di9-dkbZfXe|6p4KfBfyb,9`fG049kfm9|b@fq4A9u042.0J0o2H0O2x2Z0k0l0OaI0heY9Fg1c410c6cVecer0$9Ee,gjcd9UdT6vg1fTft3jclf:f$gBf#d*ctf`84f cvgt51b7bPgQadd dUgyfs5Fc,gDd*c%bDf;5.c,bI84bKazaB0caDaFcB1+g5g71+2Egaa%aR0ggfghg_1+9D2H0g0b0R0dg~0D2=0ebna%1+fQe/f-eJdegZfy5cf@e_deg*e6g,9~9A0gh3h10g0s0V2!bd1+0C3$0Z0J2yhHgsgxgnfre:gA6^eLc*hRhohTduhra1a3d-gRabbPhgf,bW7$dZhleM74gGdnh:e dwb5cy10cA1S0n0e0$d=g;h6h2gqh4aP0ghvhxg}hAhCh)d4hP7$eRh.hT26hVds3k7i9e3qc.f{1-0D0$0kfKf904aP9z9BhxfmfigNiziEiHfh9UfphNfSgWioe?iPfY7h3/im7}7uiqd-dDenez3Vc_c{e#9Nc004c2iK9T9KfmdEiJiOgk04cfgUiOgz7$fviTg%73fAg$gE7Gi!isgo0ccbi(epb{iy1.e2105vi~d38{iQ7QhSinjriX7P7Sjah^d:10d=jifkgpgriF100Tfmjk04jmi`gu04d0jfew100ji+3sd/e6jL5JjOeE10gwjXcwh`04cA1*cN2He2iv98bPi7220;bfiejpigiof/j3j8f?j7d97%jyeTi$g4jei,e6i*jD3Wb;kcj*dI100ykgj!j}hOhie;7;jsiYcpk5h=gIi#c/0dkgkfjS51jLjN4cgVj 7~kvjwg#b)j47hg)irjze6dy0t1U1*kgdEkDkG29ehd}gTkdemg4kE100!koe35;jH04j)3S0gf*fRj0iohkk2k6hnkyh/hqkVk9dxjBd?k.5(e9i5hLjoe6c~i@jBk;04knk)jjk^j#lk3V9JjRlfjT04k?lsjEi_lwi{jJi;kh04k(j$29lykE9|2.ixlEe7dKe!kkdRjIfmc_lDlOlte4lK9J0Ek@l+l)i=0Lk|2NjY3Vj,j.bP0e0C18aQ0cj^9xcN0^3ng0hMlwl10!8lkO8C5sjvmfk8f0fFjckjk}egjhlVdEjdlplrlAkHlukql4bv8ume8L97l7c*mCh@lbdNlolVkFmwizlNlZf5kml/k_jndhifksgA8DmD8tilmGjtm$mJl_5id;lemSeAlhjGl,l#lKk%k`lzm=i)jUjWmoc/lYmY84eFlVl{g=aR0$0cbbj@gSj_m62Cmzmb8Mm%5qnnmh8LaufEeUn4mnl^mpc`k$kimumVlv5NkLm!3.j2e^mHj6kRgE8WmjeVfH0,fJmrnCmXe.0U8_1u2?1j8%1j0k8)n*2U2Pca1*8$8/9Y0+0-0/0l04.