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
.128013g[ r);/(loF4,6b=ax+5utP7e-h0Tmnk:Séq.èy1cd32!à 8_wvpf9R]is050Q0z0w0r0(0j0)0d0P0j0r0)0)0q010w0(0Z010406050)0v0E0E0r0e0N040I0k0j0v0}0k0F050h1416181a120Z04051q1j1t0h1q120Q0(0Y0=0@0_0{0@0F0b0v0r0b0z0A0Z0N0w0B1h0d0B0(0b0B0j1V0B0w10050-0p0j0z1C0^0`011U1W1Y1W0w1(1*1$0w0e1r1Q0=1d0)0Z0r0F0{0S011,1E010!0/0z0F0r0E0z1$2123281.2b1*2e2g100a0d0x0e0k0Z0k0)0(1g0F0d0+1 0e0e0z0P2B1j2j0F1r0h1Q2O1{1}1|1%0Q2l1F0(0F2d2y1$1z1B0?1-2Y2!0F0k2(1$0Z2H1r2M2O2^13222C2*292.0e170j1$0r1T2H0!0{030W0W0P2/0z1Y2-0k0A0O3j100d0O1j0r2_2|112{2k2~1.303234360z38013a3c3e3g2#3j0A26040d0S3p3r233t2M2X013y0r331r350B37393b3d0+3I2.3K0R3m0R3Q2L3s123U3w0{3X3Z053#3%3E3)3H2Z3J3k0m3m0m3=1k3@3u2}1D3x0k313Y3A3$3C3(3G3+443-3k0u3m0u4a2^3^2|3V3|4k403F3*3f4q3i3k0o3m0o4w4c3_4f3{4h3z3!3B3D4E433h3K0y3m0y4N3S4y3v4Q3W4S4j4U4l4W424p4Z3k0V3m0V4(2N4*4e2+4-4i3}3 4m414o4G4^0A0#3m0#4}3T4z3`524T3~4V4n4F3,4I3j0C100O0C5f4 4A4.545m575o4H3K0O0O5t3o0h3q3?4)4d5y534C564X4@453j3M0O3P5K3R4~5O5i4B4:4D4?595V0O3/045/5w5%4,5)5l4;5n4Y5.475;495!5M5$4P515_554=585p5F4t5;4v624b5N652 5z5R695D5a0O4K5;4M6g4x5@666l5*5S5,6b3k0O4#5;4%6u4O5h5^6y5`5+6a5E6D4`5;4|6I6i6K6x5Q6z6n5}4r3j5c5;5e6V646X6k6Z6N6A6P5a0S5s046^5?6j4g6:685|5U6%0S5H6`5J5L6h6-4+6Y5k705C6$5q0S3M7i6|6.6~7d5B5T5-735:0S3;6,5g7b6/7o5{7f727h5 0S61786v6}4R6 7p6B6Q3L6d0S6f7I6J7y7n4/6;6#7D3K0S6r7%7l7W7L7A6O6o5V0S6F7;7*507z7Y7e7q6C3L6S0S6U7U6W7+5j7`7N6?7:6)0S6+827a7^7X5A7B7|7P0R6_8l7@5P7-6=7/6%0R758u8o5(6M7{7O5a0R3M8D8x6L7M8i8B5V0R5:8M8G7c868J888t5 0R7H5#2O2=0z2O2(2R0Q1}2W5i4F2%1A1r8!2@3s631r4F8=2k0(0Q0{3b2M5F3A8|8~8T5q5H0d2p0z948s961$627K010G100+0!8@0d6w2 0!100z0)0w0W0v0F0W4h0Q2H8@9o1.0 040i9C9g0F101(9I7m0{9F0f0H8@12798`2C93018 2|7$928}9Z959$982f9a9)9c9$2O5L9g0X3m0d9`9N840)0Q1002030R0#0ga1a3a5a2a49T9|9X9(9!233.9%9b7gah9,2gaj7#3k5:3=9g9~9_9`0$2d0Y0k0(1+0D0e0v1+2z0d1(0d9s0w2D1+0j1h1I0z0v0e98aKaM3d0F0}2daM0w0k0v0;1*0)ab9V5O9Yaf0F3K5 5la:9*462799ao7r5qa@9f9O01au3N9`aKaZaB0e0;2E0O0d0U980n0d0l3Y0)aG2Z1ha-2`3Ua_904sai9/akbvam9.8K6%6dasb3b5b70da6a4bKa8a7bq8?bsae0Wbu0A6ra^bS9:4Ja|9-a~7}bW5!bI9D3{101i9V9n9g0k100q9mb,3W0p102oac3V9F9Ha.9J9L0r0pb 5i9QbP3Sa/bSbU6FbXb%7P4#bAci5acgb*b7b`0P75030da+b8a!bb0d0Ya)cv4hbc0v0d220e3daTa,9V9Ubr4zbt9#4_bwbC5q4`clbxap0A6S3Qb+c404cBcM2^b;b3b?04b^b:b`9F0c0%9mcObQcQcecS5bcUa`d1cYcV3K6)3Qc|ccbR94bU5ud2bZ5rb#ancZa 5F6_c%cq9g9i040!4hb_c)0sdwc/9^042Zdz849K049Mc3b39F9ScNb cRag6D75chdl7}5GdjbBd3dW9=b6bI9{dr100(9lc?dxdE8f0{c:020j0w0gd/3V0E0(5td`5i0kdBdvd-b3dGdye484d=0bd^d 5^b.ed51e110e3c-b`e6eg29eidCb/elc)c+c84,dLc{dOc dQ5WdgbyeDd5dZ3Mdpd%d%b`ds2H0waTes3sc.840G0P10bk0:0zcb2Ncdddd05/eEc!e+eHdhe+d#eLd(e510evdJe9100Lew66100r0Z0Z2d0Qe 29c1f73x10e7cP84cab:dae%dc9)dea@35a_e:47e/eF0Ob13qc(b3eO0,eReo1.eW10aDaFe$9W0ddPa=6DbEfobYft4tfse-bE5!fifJfL5FbWfPcm5.4KfTdm6Db)9?fy9j3CfC3{9q042.0E0p2H0W2x2Z0w0)0WaE0ZeQ9Be{d:01f9g74Aej0e9Ae#gbc9109RfIe(fle*cgf$dU7P6EdXf%6%gtd#b`dBb+gh4,b5bMgFa9d_dNgbfZ6Re,f+3jcXa}gr6pc$b29}9 d$0dax0FazaBcv1+f_f{1+2Ef~aZaN0dg3g5g,1+9z2H0d0K0v0(g;0z2=0JbmaZ1+glfka;5Fd8gqd66D5cf*dVd8gVg8bHb79w0dg_g@0d0b0M2!bc1+0P3$0k0E2yhygg6vgKeBfM3Ldohbd36^gugS7:dohi3Vhk9`gGa7bMh6c~e)eC74gN7}h#hf7Ph#e=dqb3cs10cu1S0Y0J0ed+g%g|g^geg`aL0dhmhog:hrhthX8{hF7$eJhJdh7ihMhc3LeJcpe@eVf10_0z0e0wf=3W9r9t9v9xhofa9P10c2feg8dGiwgC51fgc-fXgmh83k7uh$h*3/h)6@ariieUiCefe8g8c:c=ete5b|04b~iFf8izixir04iEiBc0gji6adhZhG7GiO6@frgRifi|h,ijiWf^c7iY3Vi!iqd|105vgJi=gL7Qi}7:fSj0hKfVfwh-ikdCd,i$dFgdgfi.c^i.jc04jei=gi04c`j8e0100Ti#eTb`jB5JjEex10dMjug8h/04cu1*cH2Hd|in98bMh 220;bei^fKi8iMf#j:gv7hf)jmicf-gYfxjvj6iqjajIeek1k4eh100tjbd}5;j/jh7;jj73ckj{eFkgj3iVgcdCk2b@kbjdkej;7~kh7hgQb$hN73gUjpj43Vds0X1U1*iqdG0(kr04d?eck72 iXjVj9100Aktkdi+9EjTezhEi`7$haj@kC7hhekkc!8b9ekFeMd)jskMjwg6jRiG100ci.kNkPkakT1.jPjy10jHkWjJ04kZl8b-i:h}hCc}ffl2l4d*lbjGk2dB2.ipli01eqdDlyjzk$d;kYjAkcjQlng89F0nk!lJdbdKlcjUjN9gjXjZbM0J0P18aM0Fj*9tcH0^3n9njflKk.iL0A8lky3.5siR8LhPk_e?ko5(b.j7le4,k3m3f0k6m6epk9lOkvk+aqdSibeF8uied3mjknj j5kOlym5lUe^kqmrmblylal.lQi7mel=ial:ml26l`8tihk_eNd*jtmtk0i;l/jFl3lEi/mql0i,ltmw04jLk}f^lslT3Sl 4,lWg(aN0e0Fbaj)gHj+l+2CmdgneC8Ml@aqiQk=gOn1mnjqj50Fm2mQiZkslydGnbl6mcmAfjhYm hG8Wn2l=i kBifnqknmN04ePfBngm1gl0h8_1u2?1j8%1j0w8)nL2U2Pc61*8$8/9U0+0-0/0)04.
# Tests
(insensible Ă la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)