Informatique

Question

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 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

  • 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.

Autres questions