Vous êtes sur la page 1sur 3

République Islamique de Mauritanie Ecole Supérieure Polytechnique

Institut Supérieur des


Métiers de l’Énergie (ISME)

TD Python
Exercice 1
a) Donner l’´état des cases mémoires pour les cinq variables après l’exécution.
1. Vitesse = 5
2. temps = 2
3. Vitesse %= temps
4. L= [Vitesse]+[temps]+ [‘’Distance’’]
5. T= temps**3
6. D=L*3
7. S=D[2:4]
b) Écrire un programme qui permet de calculer la somme S suivante (N = 101):
i.
S= 1 + 32 + 54 + 76 + … + Nk

Exercice 2
a) Ecrire un programme python qui permet de saisir une suite de nombre (compris entre 100 et -100)
tant que l’utilisateur saisit un nombre diffèrent de 0.
1. Le programme doit afficher le nombre d’entier négatif
2. Le nombre d’entier positif
3. La somme et la moyenne des nombres saisis
4. Une liste LP qui contient tous les nombres positifs
5. Une liste LN qui contient tous les nombres négatifs

b) Soient les listes suivantes :


t1 = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
t2 = ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre',
'Novembre', 'Décembre']
c) Écrivez un petit programme qui crée une nouvelle liste t3. Celle-ci devra contenir tous les éléments
des deux listes en les alternant, de telle manière que chaque nom de mois soit suivi du nombre de
jours correspondant : ['Janvier',31,'Février',28,'Mars',31, etc...].

d) Qu’affiche le programme ci-dessous ?


L= [ i for i in range (20) ]
print (L)
print ( [ i for i in range (20) if i%2==1])
print ( [ i * i for i in range ( 1 , 6 ) ] )
print ({ i+j for i in range (1 ,6) for j in range (1 ,6)})

e) Utilisez une liste en compréhension pour obtenir la liste ['ad', 'ae', 'bd', 'be', 'cd', 'ce'] à partir des
chaînes "abc" et "de".
f) Écrire un programme qui permet de définir la liste L= [0, 2, 4,………….2*n] , n donné par l’utilisateur
avec deux méthode différentes.

Elément du module : ST_31 1/3 Année : 2021 - 2022


Exercice 3
Lors d’un TP dont le but est de déterminer la relation entre la masse et le poids d'un objet, un groupe
d’’étudiants a obtenu les mesures suivantes.

a) Créer une liste « masse » contenant les valeurs du tableau de résultat.


b) Créer une liste « poids » contenant les valeurs du tableau de résultat.
c) Ecrire un programme permettant de calculer le rapport P/m pour chaque mesure et insérer les
valeurs obtenues dans une liste nommée « rapport »
d) Définir une fonction multiplier (Liste-Poids, K) qui multiplie chaque élément de la liste de
poids « Liste-Poids » par le nombre K,
e) Définir une fonction Sup (Liste-Masse, M) qui renvoi la liste de masses supérieures strictement
à M.
f) Définir une fonction permettant de trier une liste par ordre croissant selon un algorithme de tri
par sélection.
g) Calculer la complexité de cet algorithme de tri.

Rappel :
Sur une liste de n éléments, le principe du tri par sélection est le suivant :
 Rechercher le plus petit élément de la liste et le changer avec l’élément d’indice 0 ;
 Rechercher le second plus petit élément de la liste et le changer avec l’élément d’indice 1 ;
 Continuer de cette façon jusqu’à ce que la liste soit entièrement triée.
Exercice 4
a) Affichez chaque caractère d’une chaîne en utilisant une boucle For.
b) Ecrire une fonction nbMots qui prend une chaîne de caractères et renvoie le nombre de mots
dans la phrase. Par exemple, nbMots(’Bonjour, comment ça va?’) renverra 4. Les mots sont
simplement les blocs de caractères délimités par les espaces.
c) Écrire une fonction nombreOcurrences(caractere, mot) qui prend en argument un caractère x et
une chaîne de caractère mot et qui renvoie le nombre de fois où le caractère x est présent dans
mot. Par exemple, si mot est le mot «java », nombreOcurrences(’a’, mot) vaut 2.
d) Définissez une fonction inverse(ch) qui permette d’inverser les l’ordre des caractères d’une
chaîne quelconque. La chaîne inversée sera renvoyée au programme appelant.
Exercice 5
On considère le dictionnaire suivant dont les clés sont les noms des élèves et les valeurs des clés sont
les moyennes générales obtenues en passant l’examen final:
etudiants = {"etudiant_1" : 13 , "etudiant_2" : 17 , "etudiant_3" : 9 , "etudiant_4" : 15 , "etudiant_5" :
8 , "etudiant_6" : 14 , "etudiant_7" : 16 , "etudiant_8" : 12 , "etudiant_9" : 13 , "etudiant_10" : 15 }
En supposant que le dictionnaire étudiant existe :

a) Écrire un programme qui permet de partager ce dictionnaire en trois sous dictionnaires :


EtudiantAdmis dont les clés sont les étudiants_admis et les valeurs des clés sont les
moyennes obtenues (moyenne supérieurs ou égales à 10).
b) EtudiantSessionnaire dont les clés sont les étudiants_session et les valeurs des clés sont les
moyennes obtenues entre 8 et 10 (10 non inclue)
c) EtudiantAjoutnée dont les clés sont les étudiants_ajournées et les valeurs des clés sont les
moyennes obtenues (moyenne inférieur à 8).

Elément du module : ST_31 2/3 Année : 2021 - 2022


Exercice 6
Que se passe-t-il lors de l’exécution des codes suivants ?

Exercice 7
a) Ecrire un programme Python qui permet de lire un fichier texte ?
b) Ecrire un programme Python qui permet de lire les n premiers lignes d'un fichier texte ?
c) Ecrire un programme Python qui permet d'ajouter un texte dans un fichier et de l'afficher
d) Ecrire un programme Python qui permet de lire ligne par ligne d'un fichier texte et les
enregistrer dans une liste ?

Exercice 8
Créer un fichier Mesures_ISME.txt
a) Ajouter 200 mesures générées aléatoirement dans ce fichier.
b) Ajouter les mots m1, m2…m200 dans ce fichier. Par exemple (m1 20)
c) Modifier ce fichier en ajoutant deux points (:) entre le nom et sa valeur (exp : m1 : 20)
d) Ecrire les fonctions statistiques nécessaires sur les mesures du fichier Mesures_ISME.txt et
créer un autre fichier SatratisqueISME.txt qui comporte le résultat : Max Min Moyen variance
covariance Ecart-type.

Exercice 9
1. Ecrire une fonction freqChaine qui prend une chaîne de caractères et renvoie un dictionnaire
qui contient pour chaque lettre de la chaîne son nombre d’occurrences.
Par exemple, freqChaine(’abbabba!’) renverra { ’a’ : 3 , ’b’ : 4, ’!’ : 1}.
2. Ecrire une fonction freqFichier qui prend le nom d’un fichier en argument et renvoie le
dictionnaire contenant les nombres d’occurrences de chaque lettre.
3. Ecrire une fonction maxDic qui prend en paramètre un dictionnaire (dont les valeurs sont des
nombres) et renvoie la clé correspondant à la plus grande valeur. Par exemple, maxDic(’a’: 3,
’b’ : 5 , ’c’ : 0, ’d’ : 10) renverra ’d’.
4. ´Ecrire une fonction triCles qui prend un dictionnaire (dont les valeurs sont des nombres) et
renvoie la liste des clés du dictionnaire par ordre de valeurs décroissantes dans le dictionnaire.
Par exemple

Elément du module : ST_31 3/3 Année : 2021 - 2022

Vous aimerez peut-être aussi