Bonsoir, j'aurais besoin d'aide pour mon DM en nsi. Une séquence d'ADN est une suite constituée de lettres dans l'ensemble [A, T, G, C]. Écrire une fonction nuc
Question
Une séquence d'ADN est une suite constituée de lettres dans l'ensemble [A, T, G, C].
Écrire une fonction nucleotide() qui renvoie le nucléotide (la lettre) le plus présent. Si c'est le cas de plusieurs, renvoyer celle qui vient en premier dans l'ordre alphabétique.
1 Réponse
-
1. Réponse caylus
Réponse :
Bonjour,
Explications :
Analyse:
- 4 lettres différentes triées: A C G T
- une séquence d'adn de longueur N.
Il existe une fonction en python qui compte le nombre d'occurrence d'un élément dans une liste: count..
exemple d'utilisation :
sequence_adn=list("ABCDA")print ( sequence_adn.count("A") )
qui affiche 2.
Comme en statistiques, on va utiliser une tableau de paires [lettre,répétition] pour les 4 lettres de nucléotides. puis on calcule leur occurrence dans la chaîne d'adn.
tableau=[ ["A",0],["C",0],["G",0],["T",0]]for i in range(4):
___tableau[i][1]=sequence_adn.count(tableau[i][1])
Il suffira de trouver la lettre ayant la plus grande répétition (le mode).
soit par une boucle
nucleo=tableau[0][0]
maxi=tableau[0][1]
for i in tableau:
__ if i[1] > maxi :
___ ___ maxi=i[1]
___ ___ nucleo=i[0]
Je te laisse le soin de mettre tout cela en musique.
Si tu veux approfondir la maitrise du Python,
je t'invite à consulter https://nosdevoirs.fr/devoir/5216210.