TD 0 Prise en main de python

publicité
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
Téléchargement