:: Enseignements :: Master :: M1 :: 2010-2011 :: Python ::
[LOGO]

Import et fonctions - Correction


Ce TP consiste manipuler les fonctions et les imports.

Avant-propos

Pour cette séance de TP, les instructions Python seront placées dans un script qui sera exécuté. N'utiliser ipython que pour la documentation et faire des tests.

Exercice 1 - Scope

Exécuter le script suivant. Expliquer ce qui se passe.





Exercice 2 - Une fonction en Python

Ecrire une fonction qui prend trois arguments: une liste l et deux entiers x et y. Elle retourne à la fois le nombre d'occurrences de x et le nombre d'occurrences de y dans l.





Exercice 3 - Arguments des fonctions





Exercice 4 - ADN

  • Ecrire une fonction qui prend en paramètre une chaine de caractères et renvoie True si la chaine est une séquence ADN et False sinon.
    Rappel: une séquence ADN ne contient que les caractères A, T, C et G.
  • Ecrire une fonction qui lit une chaine de caractères sur l'entrée standard. Si la chaine lue est une séquence ADN, elle affiche la longueur de la chaîne et renvoie la chaine entrée. Sinon, elle redemande à entrer une séquence ADN. Ecrire deux fonctions: une itérative appelée read_adn et l'autre récursive appelée read_adn_rec.
  • Ecrire une fonction qui calcule le poids moléculaire d'une séquence ADN passée en paramètre. Chaque lettre a un poids donné: A et T pèsent 260 ug/umol; G et C pèsent 245 ug/umol. Le poids total est la somme du poids des lettres de la séquence.
  • Créer un module adn.py contenant les fonctions précédentes. Dans un nouveau script, demander à l'utilisateur de rentrer en entrée standard une chaine ADN puis afficher son poids moléculaire.





Exercice 5 - Map

Réécrire la fonction map. Attention, cette fonction prend comme arguments une fonction puis un nombre variable de listes!





Exercice 6 - Parcours d'un fichier XML

Ecrire une fonction qui prend un nom de fichier XML en paramètre. Pour chaque type de noeud rencontré dans le document XML, elle affiche son nombre d'occurences. Indication: utiliser la fonction parse dans le module minidom.