0% ont trouvé ce document utile (0 vote)
3 vues7 pages

AtelierDevPython TP4

Ce document présente un fascicule de travaux pratiques sur le développement Python, axé sur l'utilisation des structures de données telles que les listes, tuples et dictionnaires. Il explique les concepts de base, les méthodes associées à chaque structure, ainsi que des exercices pratiques pour renforcer l'apprentissage. L'objectif est d'apprendre à manipuler ces structures de données pour une meilleure gestion des informations en programmation.

Transféré par

blizfruut
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues7 pages

AtelierDevPython TP4

Ce document présente un fascicule de travaux pratiques sur le développement Python, axé sur l'utilisation des structures de données telles que les listes, tuples et dictionnaires. Il explique les concepts de base, les méthodes associées à chaque structure, ainsi que des exercices pratiques pour renforcer l'apprentissage. L'objectif est d'apprendre à manipuler ces structures de données pour une meilleure gestion des informations en programmation.

Transféré par

blizfruut
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

2025-2026|F a s c i c u l e d e T P : A t e l i e r D é v e l o p p e m e n t P y t h o n

TP0 : Installation de l’environnement de développement Java


INSTITUT SUPERIEUR DES ETUDES TECHNOLOGIQUES DE NABEUL

DEPARTEMENT TECHNOLOGIE DE L’INFORMATIQUE

TP4 : LISTES, TUPLES ET DICTIONNAIRES


Matière : Atelier Développement Python Enseignante : Sonia Guerbouj
Classes : TI1 Durée : 3h

Objectif
Le but de ce TP est de d’assimiler la différence entre les différentes structures de
données collection et d’apprendre à les exploiter et les manipuler.

1- Introduction

La plupart des techniques de programmation sont basées sur le monde réel. Or, tout le
monde fait des listes et les utilise dans les taches de tous les jours. Les gens créent des
listes pour organiser les informations et faciliter leur accès et leur modification, c'est la
même chose avec Python.

2- Les listes
Une liste est simplement une séquence d'éléments accessible à travers un seul
identifiant. En Python, elle peut contenir des données de types différents (nombre,
string, boolean, …).
Exemples :
 L = [ ]  une liste vide
 list1 = ["un", 2, 3, "soleil"]
 list2 = [0, 2, 4, 6, 8]
 list3 = [12.5 , True]

2.1- Utilisation d’une liste


En général, il est recommandé d’utiliser les listes pour faciliter la gestion des données.
En effet, l’ordinateur peut localiser une valeur dans une liste quel que soit l’ordre dans
lequel elle apparait.
Exemples :
 print(list3[1])  True
 print(list2[2]+ list2[3])  10
 print(list2[2:3])  [4, 6]
 print(list2[:2])  [0, 2, 4]
 print(list1[1:])  ['un', 2, 3, 'soleil']
m e
M Sonia Guerbouj P a g e |2
2025-2026|F a s c i c u l e d e T P : A t e l i e r D é v e l o p p e m e n t P y t h o n

Les listes sont extrêmement importantes en Python. Il est possible d’y appliquer
différentes opérations : créer, afficher, ajouter/effacer/chercher un élément, …
Méthode Signification Exemple
len(list) Retourne la longueur d’une print(len(list1)) 4
liste
[Link] (elem) Ajoute un nouveau élément [Link]("lune")
à la fin de la liste.  ['un', 2, 3, 'soleil', 'lune']
[Link] (pos, elem) Ajoute un nouveau élément [Link](0,"pret")
à la position spécifiée dans  ['pret', 'un', 2, 3, 'soleil',
la liste. 'lune']
[Link]() Retourne l’élément qui se ch = [Link]()  Lune
trouve à la fin et le  ['pret', 'un', 2, 3, 'soleil']
supprime de la liste.
[Link](elem) Supprime elem de la liste. [Link](0)
 ['un', 2, 3, 'soleil']
[Link]() Supprime tous les éléments [Link]()  [ ]
de la liste.
[Link]() Crée une copie de la liste List4 = [Link]( )
actuelle et la place dans une  [12.5, True]
nouvelle liste.
[Link](list2) Ajoute dans list les éléments [Link](list2)
d'une autre liste list2.  [12.5, True, 0, 2, 4, 6, 8]
[Link]() Ordonne les éléments de list [Link]()
 [0, True, 2, 4, 6, 8, 12.5]
[Link]() Inverse l’ordre des éléments [Link]()  [True, 12.5]
de la liste
[Link](elem) Retourne la première print([Link](True))  1
position de elem dans list print([Link](7))  erreur
[Link](elem) Retourne le nombre de fois print([Link](4)) 1
que se répète elem dans list

2.2- Affichage d’une liste


On peut afficher le contenu d’une liste de différentes manières :
Syntaxe Exemple

1 # Affichage sous forme d’un tableau print (list2)


print(var_list) [0, 2, 4, 6, 8]

m e
M Sonia Guerbouj P a g e |3
2025-2026|F a s c i c u l e d e T P : A t e l i e r D é v e l o p p e m e n t P y t h o n
2 #Affichage élément par élément for elem in list2 :
for elem in var_list : print(elem, end=" - ")
print(elem, end="sep") 0 - 2 - 4 - 6 - 8 -
# sep est un caractère séparateur

3- Les tuples
3.1- Définition
Un tuple est une collection utilisée pour créer des séquences fixes d’éléments différents
(des coordonnées fixes, des coefficients inchangés, des constantes, …).

Exemples :
 coord_greenwich = ('Longitude', 51.482577, 'Latitude', -0.007659 )
 tup1 = ("rouge", "bleu", "jaune")
 tup2 = (0,0,1,0,1,0,0,1,1)

Les tuples sont immuables, c’est-à-dire qu’on ne peut pas les modifier contrairement
aux listes qui sont mutables (peuvent être modifiées).
Ainsi, un tuple qui semble désavantagé, présente au contraire des avantages, comme
être plus sécurisé, plus rapide et plus faciles à utiliser car ils ont moins d’opérations..

3.2- Utilisation d’un tuple


Parmi l’ensemble des méthodes sur les listes, seules les fonctions suivantes sont
applicables aux tuples :
Méthode Signification Exemple
len(tuple) Retourne la longueur d’un print(len(tup1))  3
tuple
[Link](elem) Retourne la première print([Link](0))  0
position de elem dans tuple print([Link](1))  2
print([Link](2))  erreur
[Link](elem) Retourne le nombre de fois print([Link](0))  5
que se répète elem dans print([Link](1))  4
tuple
print([Link](2))  0
tuple.__add__(tuple2) Concaténation de 2 tuples print(tup1.__add__(('noir',)))
 ('rouge', 'bleu', 'jaune', 'noir')

m e
M Sonia Guerbouj P a g e |4
2025-2026|F a s c i c u l e d e T P : A t e l i e r D é v e l o p p e m e n t P y t h o n

4- Dictionnaires
4.1- Définition
Un dictionnaire est une collection qui stocke les données indexées par des clés. Chaque
élément d'un dictionnaire est une paire (clé, valeur). En revanche, les listes et les tuples
stockent les données en utilisant des index numériques.
Exemples :
 notes = {"math" : 17, "français" : 18, "histoire" : 12.5, "info" : 19, "arabe" : 16.75}
 dico1 = {"nom" : "Guerbouj", "prénom" : "Sonia", "cin" : 555, "spécialité" : "Info",
"genre" :'F', "fumeur" : False}
 dico2 = { 1 : True, 2 : True, 3 : False, 4 : True, 5 : False}
 cris = {"chat" : 'miaule', "chien" : 'aboie', "oiseau" : 'gazouille'}
 D = {}  un dictionnaire vide
 notes = dict(math=17, français=18, histoire=12.5, info=19, arabe=16.75)
Lorsque toutes les clés sont des chaines, il est plus facile d’utiliser cette notation.

En effet, comme avec les vrais dictionnaires où un mot est associé à sa définition, un
dictionnaire en Python crée des paires de (clé, valeur) ce qui offre un temps de
recherche plus rapides et facilite beaucoup la manipulation des données.

Exemples :
 print(dico1['prénom'])  'Sonia'
 dico1['cin'] = 12345678  on modifie la valeur de la clé cin
 cris['mouton'] = 'bêle'  on ajoute un nouvel élément car cette clé mouton
n’existait pas dans cris
NB : Les dictionnaires sont modifiables (comme les listes) mais les clés une fois définies,
sont immuables (comme les tuples). Pour modifier une clé, il faut supprimer tout
l’élément (avec del ou pop) et insérer un nouvel élément avec la clé désirée.

4.2- Affichage d’un dictionnaire


On peut afficher le contenu d’un dictionnaire de différentes manières, la plus simple est
comme suit :
#Affichage par couple (clé : valeur) for cle, val in cris :
for cle, valeur in mon_dict.items() : print(cle," : ", val)
print(cle, " : ", valeur)  chat : miaule
chien : aboie
oiseau : gazouille

m e
M Sonia Guerbouj P a g e |5
2025-2026|F a s c i c u l e d e T P : A t e l i e r D é v e l o p p e m e n t P y t h o n

4.3- Utilisation d’un dictionnaire


Il y a plusieurs fonctions qu’on peut appliquer aux dictionnaires. Voici les plus utilisées :

Méthode Signification Exemple


len(dict) Retourne la longueur d’un print(len(dico2))  5
dictionnaire
[Link]() Supprime tous les éléments [Link]()  { }
de dict.
[Link]() Crée une copie du D = [Link]( )
dictionnaire dict le place  {'chat': 'miaule', 'chien':
dans un nouveau 'aboie', 'oiseau': 'gazouille',
dictionnaire 'mouton': 'bêle'}
[Link](clé) Retourne la valeur n = [Link]('math') 17
correspondante à cette clé
dans dict
[Link]() Retourne les clés de dict print([Link]())
dict_keys(['nom', 'prénom',
'cin', 'spécialité', 'genre',
'fumeur'])
[Link]() Retourne les valeurs de dict print([Link]()) 
dict_values(['Guerbouj', 'Sonia',
'Info', 'F', False])
[Link]() Retourne les éléments de print([Link]()) 
dict càd couples (clé,valeur) dict_items([('chat', 'miaule'),
('chien', 'aboie'), ('oiseau',
'gazouille')])
[Link](clé) Supprime de dict, l’élément c=[Link](3)  True
dont on a donné la clé. et dico2 devient {1: True, 2:
True, 4: True, 5: False}
[Link] (dict2) Ajoute dict2 à la fin de dict [Link]({6:True})
 {1: True, 2: True, 4: True, 5:
False, 6: True}

5- Travail demandé
Dans la suite, on utilisera l’éditeur de code thonny pour écrire le code correspondant à
chaque exercice dans un fichier.

m e
M Sonia Guerbouj P a g e |6
2025-2026|F a s c i c u l e d e T P : A t e l i e r D é v e l o p p e m e n t P y t h o n

Exercice 1

Ecrivez un programme Python qui demande à l’utilisateur de saisir les horaires de


départ et arrivée de son train sous le format : XXhYY et lui affiche la durée de son trajet
en minutes, puis en heures et minutes selon l’exemple suivant :
Horaire de départ ? 17h51
Horaire d’arrivée ? 19h38
Votre trajet dure 107 minute(s), soit 1 heure(s) et 47 minute(s).
Astuce : Utilisez la fonction [Link](sep=' ') qui permet de décomposer une chaine en
éléments selon le séparateur défini. Attention le résultat est sous forme d’une liste de
chaines de caractères !

Exercice 2
Ecrire un programme qui permet de calculer et afficher le total d’une facture pour un
client sachant qu’il faut saisir au clavier les quantités achetées des 5 produits choisis par
le client et ayant les prix suivants :
Produit Imprimante Toner Rame Rame Laptop
HP Laser Laser papier A4 papier A3 Dell gris
Prix (DT) 164.900 99.900 10.500 18.500 4799.900
Astuce : Utilisez un tuple pour stocker les prix unitaires et une liste pour saisir les
quantités.

Exercice 3
Ecrivez un programme qui crée un tuple contenant 7 coefficients de matières initialisés
comme suit (4 ,2 ,2 ,3 ,1 ,1.5 ,1.5) et une liste de 7 notes générées à l’aide de la fonction
prédéfinie randint(min,max) qu’il faut importer du module random. Ensuite :
1) Etant donné le tuple matieres : ['Algorithmique', 'SysExploitation',
'DeveloppementWeb', 'Mathématiques', 'Réseaux', 'Anglais', 'TechniqueComm'],
afficher :
a) Le nom de chaque matière, son coefficient et sa note générées.
b) La matière où l’étudiant a obtenu la meilleure note.
2) Calculez et affichez la moyenne générale de l’étudiant selon la formule :
moyGen=∑ è ()
∑ 𝑚𝑜𝑦𝑒𝑛𝑛𝑒 𝑀𝑎𝑡𝑖è𝑟𝑒(𝑖) ∗ 𝑐𝑜𝑒𝑓𝑓𝑖𝑐𝑖𝑒𝑛𝑡 𝑀𝑎𝑡𝑖è𝑟𝑒(𝑖)

3) Calculer et afficher vers quel parcours sera orienté l’étudiant sachant que son
score doit être supérieur à 10 pour être accepté dans ce parcours et que
l’étudiant sera orienté vers le parcours où il a le plus haut score.
On donne :
scoreDSI = (Algo*4 + Web*3 + moyGen*2 + SysExploit)/10
scoreRSI = (Réseaux*4 + SysExploit*3 + moyGen*2 + Algo)/10

m e
M Sonia Guerbouj P a g e |7
2025-2026|F a s c i c u l e d e T P : A t e l i e r D é v e l o p p e m e n t P y t h o n

Exercice 4
Après avoir joué à un jeu vidéo, 4 amis ont obtenu les scores suivants :

Aroua Zied Bilel Lamis

Scores 7852 6548 8425 7159

Sachant que les 4 amis ont invité 3 autres camarades (Nermine, Ahmed et Rami) à jouer,
écrire un programme qui génère aléatoirement les scores obtenus par les 3 nouveaux
joueurs (dans l’intervalle [6000, 9000]) puis affiche le classement des joueurs du
vainqueur jusqu’au dernier en indiquant à chaque fois le rang, le prénom et le score.
NB : Utilisez un dictionnaire d1 pour stocker les scores des 4 amis.
Utilisez un dictionnaire d2 pour stocker les scores des invités et ajoutez le à d1.
Transformez les valeurs et clés du dictionnaire d1 en listes avec la fonction list().
Utilisez les fonctions sur les listes pour faciliter l’exécution.

Exercice 5 – Mini projet (Travail à la maison)


On désire gérer la liste de participants dans une excursion.
Ecrire un programme Python qui affiche un menu qui propose les options suivantes :
1- Ajouter un participant
2- Modifier un participant
3- Supprimer un participant
4- Afficher la liste des participants
5- Trier la liste des participants
6- Inverser la liste des participants
7- Vider la liste
8- Quitter

NB :
 Pour ajouter, modifier ou supprimer un participant, il suffit de saisir son nom.
 En affichant la liste des participants, il faut afficher au début le nombre de
participants. Exp :
Il y a 2 participants :
- Sarra Ben Miled
- Akrem Chedli

 En triant ou inversant la liste, il faut l’afficher juste après l’opération effectuée.

m e
M Sonia Guerbouj P a g e |8

Vous aimerez peut-être aussi