Module LV348 TD 0 – page 1/3 TD 0 Prise en main de python Version du 15 janvier 2014 Taper les commandes suivantes dans l’interpréteur 1. - manipulation des chaînes de caractères - opérateurs +, * et fonction print ; >>> chaine = "Salut" >>> chaine ’Salut’ >>> chaine + " Python" ’Salut Python’ >>> chaine * 3 ’SalutSalutSalut’ >>> ’toto’ + 2 Traceback (most recent call last): File "<stdin>", line 1, in ? TypeError: cannot concatenate ’str’ and ’int’ objects >>> print chaine,’Salut’,1,50 Salut Salut 1 50 2. - les listes - indices, concaténation (+), ajout d’éléments (append), fonction range et len ; >>> ani1 = [’girafe’,’tigre’] >>> ani2 = [’singe’,’souris’] >>> ani1[-2] ’girafe’ >>> ani1[0] ’girafe’ >>> ani1 * 3 [’girafe’, ’tigre’, ’girafe’, ’tigre’, ’girafe’, ’tigre’] >>> ani3 = ani1 + ani2 >>> ani3 [’girafe’, ’tigre’, ’singe’, ’souris’] >>> ani3[1:4] [’tigre’, ’singe’, ’souris’] >>> ani3=ani3+[5] >>> ani3 [’girafe’, ’tigre’, ’singe’, ’souris’, 5] >>> ani3.append(True) >>> ani3 [’girafe’, ’tigre’, ’singe’, ’souris’, 5, True] >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(5,10) [5, 6, 7, 8, 9] >>> range(5,10,2) [5, 7, 9] >>> len(ani3) 6 3. - les dictionnaires - création et manipulation, fonctions keys et values >>> >>> >>> >>> >>> dico1={} dico1[’ATG’]=’M’ dico1[’TTT’]=’G’ dico1[’TAT’]=’G’ dico1 c 2013-2014 (by UPMC/Licence de biologie/LV348) 15 janvier 2014 Module LV348 TD 0 – page 2/3 {’TAT’: ’G’, ’ATG’: ’M’, ’TTT’: ’G’} >>> dico1[’TAT’] ’C’ >>> dico1.keys() [’TAT’, ’ATG’, ’TTT’] >>> dico1.values() [’C’, ’M’, ’G’] >>> dico2 = {’nom’:’singe’, ’poids’:70, ’taille’:1.75} >>> dico2 {’nom’: ’singe’, ’poids’: 70, ’taille’: 1.75} >>> ’TAT’ in dico1 True >>> ’TAG’ in dico1 False 4. - les tuples >>> tuple=(1,2,3) >>> tuple (1, 2, 3) >>> tuple[1] 2 >>> tuple[0:2] (1, 2) >>> tuple[1]=8 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: ’tuple’ object does not support item assignment 5. Calculez le pourcentage de GC avec le code percGC = ((4500 + 2575)/14800)*100 puis affichez le résultat. Que se passe-t-il ? Comment expliquez-vous ce résultat ? Corrigez l’instruction précédente pour calculer correctement le pourcentage de GC. 6. Générez une chaîne de caractères représentant un oligonucléotide polyA(AAAA...) de 20 bases de longueurs, sans taper littéralement toutes les bases. 7. Suivant le modèle du dessus, générez en une ligne de code un polyA de 20 bases suivi d’un polyGC régulier (GCGCGC...) de 40 bases. 8. - premier script - Taper print "Hello world" dans l’interpréteur Taper print "Hello world" dans un fichier nomé TD0.py puis "python TD0.py" dans un terminal. 9. Tapez 1+1 dans l’interpreteur. Que se passe-t-il ? écrivez la même chose dans TD0.py. Exécutez ce script. Que se passe-t-il ? Pourquoi ? Ecrire les fonctions suivantes dans le fichier python TD0.py 1. - première fonction - Ecrire une fonction nomée cube qui retourne le cube de l’entier donné en argument. 2. - if - Ecrire une fonction max2 qui retourne le maximum de 2 nombres donnés en argument. 3. - fonction appelant une fonction - Ecrire une fonction max3 qui retourne le maximum de 3 nombre donnés en argument en utilisant la fonction précédente. Pourquoi la fonction ne marchet-elle pas ? Comment la corriger ? 4. - for et liste - Ecrire un fonction maxList retournant le maximum de la liste de nombres donnée en argument. 5. - for et range - Ecrire un fonction fact retournant la factoriel d’un entier donné en argument c 2013-2014 (by UPMC/Licence de biologie/LV348) 15 janvier 2014 Module LV348 TD 0 – page 3/3 6. - efficacité d’une fonction - Ecrire un fonction moyenne retournant la moyenne de la liste de nombre donnée. 7. - lecture de fichier - Ecrire une fonction moyNotes1 lisant les notes contenues dans le fichier donné en argument et retournant la moyenne des notes lues. Vous testerez votre programme avec le fichier Notes1.txt. 8. - valeurs de retour - Ecrire une fonction moyenneNotes lisant les notes contenues dans le fichier donné en argument et retournant la liste des notes et la moyenne, la note minimale et la note maximale. Quel type de valeur de retour vous semble le plus approprié ? 9. Voici un second fichier de notes (Notes2.txt). Ecrivez maintenant une fonction lisant ce fichier dont le nom est donné en argument, affichant la liste des étudiants admis (ie. ayant une moyenne >= à 10) et retournant un dictionnaire avec pour clé le tuple contenant le nom et le prénom des étduiants et pour valeurs la liste des notes de chaque étudiants. c 2013-2014 (by UPMC/Licence de biologie/LV348) 15 janvier 2014