Retour à Première Spécialité

L’expression du patrimoine génétique

Capacités :
Calculer le nombre de combinaisons possibles de séquences de n nucléotides de longueur quand n grandit

Fichier Combi_nucleo.py

Éditeur

nbre_nucleo=int(input(« Entrer le nombre de nucléotides existants : »))

# demande à l’élève d’entrer le nombre de nucléotides qui existe pour l’ADN 

for n in range(1,101) :

# cette syntaxe correspond à une boucle bornée : ce programme répète une ou plusieurs instructions un nombre défini de fois (ici 100 fois)

# ici la variable n prend les valeurs entières de 1 à 100 (101-1=100) pour que la boucle se répète 100 fois

# range(x,y) où x et y sont des entiers et fait prendre à la variable les valeurs entières de x à y-1

print(n,nbre_nucleo**n)

# il n’existe pas d’instruction pour définir la fin de la boucle. C’est l’indentation (décalage vers la droite) d’une ou plusieurs lignes qui permet de marquer la fin de la boucle

# affiche dans la console chaque valeur de n, le résultat du nombre de nucléotides existants (4) élevé à la puissance n

Console

>>> 

1 4

2 16

3 64

4 256

5 1024

6 4096

7 16384

8 65536

9 262144

10 1048576

11 4194304

12 16777216

13 67108864

14 268435456

15 1073741824

16 4294967296

17 17179869184

18 68719476736

19 274877906944

20 1099511627776

21 4398046511104

22 17592186044416

23 70368744177664

24 281474976710656

25 1125899906842624

26 4503599627370496

27 18014398509481984

28 72057594037927936

29 288230376151711744

30 1152921504606846976

31 4611686018427387904

32 18446744073709551616

33 73786976294838206464

34 295147905179352825856

35 1180591620717411303424

36 4722366482869645213696

37 18889465931478580854784

38 75557863725914323419136

39 302231454903657293676544

40 1208925819614629174706176

41 4835703278458516698824704

42 19342813113834066795298816

43 77371252455336267181195264

44 309485009821345068724781056

45 1237940039285380274899124224

46 4951760157141521099596496896

47 19807040628566084398385987584

48 79228162514264337593543950336

49 316912650057057350374175801344

50 1267650600228229401496703205376

51 5070602400912917605986812821504

52 20282409603651670423947251286016

53 81129638414606681695789005144064

54 324518553658426726783156020576256

55 1298074214633706907132624082305024

56 5192296858534827628530496329220096

57 20769187434139310514121985316880384

58 83076749736557242056487941267521536

59 332306998946228968225951765070086144

60 1329227995784915872903807060280344576

61 5316911983139663491615228241121378304

62 21267647932558653966460912964485513216

63 85070591730234615865843651857942052864

64 340282366920938463463374607431768211456

65 1361129467683753853853498429727072845824

66 5444517870735015415413993718908291383296

67 21778071482940061661655974875633165533184

68 87112285931760246646623899502532662132736

69 348449143727040986586495598010130648530944

70 1393796574908163946345982392040522594123776

71 5575186299632655785383929568162090376495104

72 22300745198530623141535718272648361505980416

73 89202980794122492566142873090593446023921664

74 356811923176489970264571492362373784095686656

75 1427247692705959881058285969449495136382746624

76 5708990770823839524233143877797980545530986496

77 22835963083295358096932575511191922182123945984

78 91343852333181432387730302044767688728495783936

79 365375409332725729550921208179070754913983135744

80 1461501637330902918203684832716283019655932542976

81 5846006549323611672814739330865132078623730171904

82 23384026197294446691258957323460528314494920687616

83 93536104789177786765035829293842113257979682750464

84 374144419156711147060143317175368453031918731001856

85 1496577676626844588240573268701473812127674924007424

86 5986310706507378352962293074805895248510699696029696

87 23945242826029513411849172299223580994042798784118784

88 95780971304118053647396689196894323976171195136475136

89 383123885216472214589586756787577295904684780545900544

90 1532495540865888858358347027150309183618739122183602176

91 6129982163463555433433388108601236734474956488734408704

92 24519928653854221733733552434404946937899825954937634816

93 98079714615416886934934209737619787751599303819750539264

94 392318858461667547739736838950479151006397215279002157056

95 1569275433846670190958947355801916604025588861116008628224

96 6277101735386680763835789423207666416102355444464034512896

97 25108406941546723055343157692830665664409421777856138051584

98 100433627766186892221372630771322662657637687111424552206336

99 401734511064747568885490523085290650630550748445698208825344

100 1606938044258990275541962092341162602522202993782792835301376

>>> 

Proposition pédagogique pour les débutants

Faire ouvrir le fichier Combi_nucleo.py et demander d’expliquer les instructions suivantes puis d’exécuter le script :

  • for n in range(1,101) : pour quelle(s) longueur(s) de séquences est-ce que le script va calculer le nombre de combinaisons ?
  • print(n,nbre_nucleo**n) si n=3, calculez ce qu’affichera cette instruction.

Proposition pédagogique pour les initiés

Faire compléter le script suivant pour calculer le nombre de combinaisons possibles pour une longueur de nucléotides n allant de 1 à 100 et afficher la valeur de n ainsi que le résultat:

nbre_nucleo=int(input(« Entrer le nombre de nucléotides existants : »))

for n in range(_ _ _ _ _ _ _) :

print(_ _ _ _ _ _ _)