Vous êtes sur la page 1sur 17

REPUBLIQUE TUNISIENNE

DIRECTION GENERALE DES ETUDES TECHNOLOGIQUES


MINISTERE DE L’ENSEIGNEMENT
INSTITUT SUPERIEUR DES ETUDES TECHNOLOGIQUES DE SFAX
SUPERIEUR, DE LA RECHERCHE SCIENTIFIQUE
DEPARTEMENT TECHNOLOGIE DE L’INFORMATIQUE
ET DES TECHNOLOGIES DE L’INFORMATION ET DE LA

COMMUNICATION

Travaux Pratiques
Initiation Python 3

Préparé par : Megdich Imèn && Zghal Naima

Année Universitaire

2019-2020

1
Initiation à Python

L'objectif de ces Travaux Pratique d’initiation est d'apprendre à faire réaliser des
calculs et des tâches répétitives à un ordinateur.

Pour faire cela, il est nécessaire de communiquer avec l'ordinateur en utilisant un


langage compris par la machine. Il existe plusieurs langages que l'ordinateur est
capable d'interpréter. Nous avons choisi le langage appelé "Python".

Dans la première partie de ce TP, nous expliquons comment il est possible d'écrire et
d'envoyer des ordres écrit en Python à l'ordinateur.

Dans la seconde partie, nous montrons comment écrire et exécuter une succession
de plusieurs ordres. En informatique, on appelle cette succession de plusieurs ordres
un programme. On appelle cela aussi du code.

Dans une troisième partie, nous expliquons comment il est possible de réutiliser dans
un nouveau programme du code existant en utilisant les fonctions et les modules.

La dernière partie est centrée sur la manipulation des fichiers :

 Lecture de fichiers
 Écriture de fichiers
 Manipulation (copie / suppression / renommage / etc.) de fichiers

2
Plan de la matière « Initiation Python »

 Partie 1 : Les éléments de base


1. Pourquoi Python ?
2. Manipulation du langage
3. Structures de contrôle
4. Fonctions et procédures
5. Les modules

 Partie 2 : Les structures de données


1. Les listes et les tuples
2. Les dictionnaires

 Partie 3 : Les fichiers

1. Lecture de fichiers
2. Écriture de fichiers
3. Manipulation (copie / suppression / renommage / etc.) de fichiers

 Partie 4 : Les expressions régulières

1. Légende
2. Module « re »
3. Astuces

3
Plan détaillé par leçon de la matière
« Initiation Python »
 Partie 1 : Les éléments de base
Leçon 1 - Afficher, saisir, variables, calculs
Objectifs de la leçon :

Cette leçon est centrée sur les bases de la programmation :

 Afficher un message à l'écran.


 Saisir une information venue de l'utilisateur.
 Connaître la notion de variable.
 Savoir effectuer des calculs.

Pré-requis :

Aucun.

Leçon 2 - Les structures conditionnelles


Objectifs de la leçon :

Cette leçon est centrée sur l'utilisation des structures conditionnelles, il va s'agir
d'exécuter des actions en fonction d'une ou plusieurs conditions.

Au passage, on va découvrir la notion de bloc d'instructions.

Pré-requis :

La leçon 1 : afficher, saisir, les variables, les calculs.

Leçon 3 - Les boucles


Objectifs de la leçon :

L'objectif de la leçon est de maîtriser la notion de boucle.

Les boucles sont utiles lorsqu'on veut répéter plusieurs fois une même suite
d'instructions.

En Python, on trouve deux types de boucle :

 La boucle for dans laquelle une variable parcourt une collection de valeurs.
 La boucle while qui se répète tant qu'une condition est vraie.

4
Pré-requis :

La leçon 1 : afficher, saisir, les variables, les calculs.

La leçon 2 : les structures conditionnelles.

Leçon 4 - Les fonctions


Objectifs de la leçon :

L'objectif de la leçon est de maîtriser la notion de fonction.

Les fonctions sont analogues à des sous-programmes. Elles représentent des blocs
de code qui peuvent être appelés à partir du programme principal (ou à partir
d'autres fonctions).

L'objectif est :

 d'alléger le code : des blocs de codes identiques ou quasiment identiques peuvent


être remplacés par un seul bloc appelé plusieurs fois.
 de produire du code réutilisable : une fonction définie dans un script est souvent
réutilisable dans un autre contexte.
 de rendre le code plus facilement maintenable : une fonction doit réaliser une tache.

Pré-requis :

La leçon 1 : afficher, saisir, les variables, les calculs.

La leçon 2 : les structures conditionnelles.

La leçon 3: les boucles.

Leçon 5 - Les modules


Objectifs de la leçon :

L'objectif de la leçon est de maîtriser la notion de module.

Les modules sont des programmes Python qui contiennent des fonctions que l'on est
amené à réutiliser souvent (on les appelle aussi bibliothèques ou libraries). Ce sont
des « boîtes à outils » qui vont vous être très utiles.
Les développeurs de Python ont mis au point de nombreux modules qui effectuent une
quantité phénoménale de tâches. Pour cette raison, prenez toujours le réflexe de
vérifier si une partie du code que vous souhaitez écrire n'existe pas déjà sous forme
de module.

5
Pré-requis :

La leçon 1 : afficher, saisir, les variables, les calculs.

La leçon 2 : les structures conditionnelles.

La leçon 3: les boucles.

La leçon 4: les fonctions.

 Partie 2 : Les structures de données


Leçon 1 - Les listes et les tuples
Objectifs de la leçon :

L'objectif de la leçon est de maîtriser la notion de liste et de tuple.

L'objet de cette leçon est de savoir:

 construire des listes et des tuples,


 accéder à leurs éléments,
 les modifier,
 ... tout ça pour faciliter l'écriture de nos programmes. (En général, l'utilisation
des listes et tuples évite la création de multiples variables).

Pré-requis : Partie 1

Leçon 2 - Les dictionnaires


Objectifs de la leçon :

L'objectif de la leçon est de comprendre la notion de dictionnaire.

Les dictionnaires sont des structures de données basées sur le système clé-valeur.

Pré-requis : Partie 1

 Partie 3 : Les fichiers


Objectifs de la partie :

Cette leçon est centrée sur la manipulation des fichiers :

 Lecture de fichiers
 Écriture de fichiers

6
 Manipulation (copie / suppression / renommage / etc.) de fichiers

Pré-requis : partie 1 et 2

 Partie 4 : Les expressions régulières


Objectifs de la partie :

L'objectif de la leçon est de découvrir les expressions régulières et de les maîtriser.

Les expressions régulières représentent des motifs qu'on recherche dans une chaîne
de caractères.

Par exemple, on peut chercher dans un fichier :

 les lignes qui contiennent un numéro de téléphone,


 les lignes qui débutent par une adresse IP,
 ...

Pré-requis : partie 1, 2 et 3

7
TP 0
Écrire des programmes d’initiation

La réalisation des ces travaux pratiques nécessite l’installation de Python 3 et pour plus de
commodités (Windows) : Python : https://www.python.org/downloads/

Exécuter les ordres un à un est fastidieux. Il est plus pratique d'écrire un programme et
d'exécuter ensuite le programme d'une seule traite, sans interruption. Idle permet d'écrire des
programmes dans des fichiers et de les faire exécuter par l'ordinateur.

Cette fenêtre contient une ligne de commande symbolisée par :

>>>

Dans cette ligne de commande, vous pouvez écrire un ordre. Puis envoyer cet ordre à
l'ordinateur en tapant sur la touche entrée. Par exemple, tapez la commande suivante :

>>> 1 + 1

Validez l'ordre avec la touche entrée et observez le résultat que vous obtenez. Essayez
maintenant d'exécuter les ordres suivants :

>>> print("Bonjour !")


>>> 23.2 * (2 + 6.3)

1. Prévoyez le résultat que l'ordinateur va donner en exécutant les ordres suivants :

>>> 1 > 2
>>> 3.0 / 2
>>> 3 / 2
>>> 3 % 2
>>> 3 / 2.0
>>> 3.0 / 2.0
>>> i = 2
>>> i = i + 4
>>> print("i = ", i)
>>> j = 5
>>> i > j
>>> i != 9
>>> i == 9
>>> True and False
>>> True or False
>>> print( non_defini )
>>> True and non_defini
>>> False and non_defini
>>> non_defini and False

8
2. Faites exécuter par l'ordinateur ces commandes et observez le résultat.
3. Avez-vous obtenu le résultat souhaité? Si non, essayez d'expliquer le résultat obtenu.

Rappel des principales commandes


Typage : type ()
Affectation : =
Saisie : input ()
Commentaires : # Ceci est un commentaire

Écrivez le programme suivant:

a=5
print (a) # affichage du contenu de a
print ("a = ", a) # affichage d'un message et du contenu de a
b = 5.50
print ("b = ", b) # affichage d'un message, du contenu de a et de b sur la même ligne
c = 5,50,14
print ("c = ",c)
texte="Mon texte"
print (texte)
print()
nom = input("Quel est votre nom : ")
print ("nom = ",nom)
# Affichage des types
print ()
print ("type de a: ",type(a))
print ("type de b: ",type(b))
print ("type de c: ",type(c))
print ("type de texte: ",type(texte))
print ()
print ("type de nom: ",type(nom))

9
TP 1
Les éléments de base

Exercice 1

Ecrire un script python qui permet de lire au clavier 3 valeurs numériques entières. Le script permet
de réaliser les tâches suivantes :

- Calculer et afficher la somme, la moyenne et le produit des 3 valeurs.


- Réafficher les 3 valeurs triées dans l’ordre croissant.

Exercice 2

Ecrire un script python qui affiche le quotient et le reste de la division entière de deux nombres
entiers entrés au clavier ainsi que le quotient rationnel de ces nombres.

Exercice 3

Ecrire un script python qui permute et affiche les valeurs de trois variables A, B, C de type entier qui
sont entrées au clavier : A  B , B  C , C  A.

Exercice 4

Ecrire un script python qui permet de lire une chaine de caractère et de tester si cette chaine est un
palindrome.

Exemple : radar, ici, elle,….

Exercice 5

Une agence de location de voitures propose à ses clients les tarifs suivants :

Tarif par jour Tarif par kilomètre

Tarif essence 20150 D /jour 850 millimes/Km

Tarif diesel 10160 D /jour 650 millimes/Km

Ecrire un script python qui produit un état détaillé indiquant le meilleur choix à un client qui doit
donner la distance qu’il doit parcourir et la durée de location (saisie).

10
TP 2
Les fonctions et les modules
Exercice 1
Ecrire un script python pair_impair.py :
Ecrire 2 fonctions :
— pair (nbre), qui renvoie True, si le nombre est Pair
— impair (nbre), qui renvoie True, si le nombre est Impair
Le nombre sera demandé à l’utilisateur.
Le résultat attendu est : "La fonction Pair retourne True pour la valeur 2"

Exercice 2
Ecrire un script python mini_maxi.py : écrire 2 fonctions :
— mini (a,b) qui renvoie le minimum entre a et b
— maxi (a,b) qui renvoie le maximum entre a et b
Les 2 nombres a et b seront demandés à l’utilisateur.

Exercice 3
Ecrire un script python qui permet d’écrire une fonction pour calculer le carré d’un nombre puis
une autre pour afficher les k premiers carrés (de 0 à (k − 1)2).

Exercice 4
Ecrire un script python qui permet d’écrire une fonction qui teste si un entier est divisible par 10
mais pas par 3.

Exercice 5
Ecrire un script python qui permet d’écrire :

- une fonction qui calcule le factoriel d’un nombre entier donné en paramètre.

-une fonction calc_puissance(x, y) en utilisant l'opérateur **.

Exercice 6
Ecrire un module Python « Chaine » qui définit les fonctions suivantes :

- La fonctions lire_chaine() qui lit et retourne une chaine de caractère.

11
- La fonction comparer_chaine(ch1,ch2) qui compare les deux chaines en paramètres et
retourne « True » si elles sont identiques et « False » sinon.
- La fonction palindrome(ch) qui teste si la chaine donnée en paramètre est un palindrome et
affiche le message correspondant.
- La fonction vide_chaine(ch) qui teste si la chaine donnée en paramètre est vide et affiche le
message correspondant.
- La fonction affiche_vertical(ch) qui affiche la chaine donnée en paramètre caractère par
caractère chacun seul dans une ligne.
- La fonction compte_voyelle(ch) qui retourne le nombre de voyelles contenus dans la chaîne
ch.
- La fonction compte_consonne(ch) qui retourne le nombre de consonnes contenus dans la
chaîne ch.
- La fonction concat(ch1,ch2) qui permet de concaténer ch2 à la fin de ch1 et retourner la
chaine ch1.
- La fonction découper(ch) qui permet de réafficher la chaine de caractères en mettant chaque
mot dans une ligne.
- La fonction doubler(ch) qui retourne une chaine dupliquée (ch*2)

Exercice 7
Ecrire un script Python qui propose à l’utilisateur un menu de choix de fonctionnalités parmi
celles développées dans le module « Chaine » de l’exercice précédent.
Avant d’afficher le menu, on demande à l’utilisateur de saisir une chaine de caractères.
L’utilisateur saisira le n° de son choix parmi :
1- Comparer chaines (on demandera à l’utilisateur de saisir une deuxième chaine de
caractères)
2- Tester palindrome
3- Chaine Vide ?
4- Afficher en vertical
5- Nombre de voyelles
6- Nombre de consonne
7- Concaténer chaines (on demandera à l’utilisateur de saisir une deuxième chaine de
caractères)
8- Découper chaine
9- Dupliquer chaine
10- Quitter menu

12
TP 3
Les listes, les tuples et les dictionnaires
Exercice 1
Définir la liste : liste =[17, 38, 10, 25, 72], puis effectuez les actions suivantes :

- triez et affichez la liste ;


- ajoutez l’élément 12 à la liste et affichez la liste ;
- renversez et affichez la liste ;
- affichez l’indice de l’élément 17 ;
- enlevez l’élément 38 et affichez la liste ;
- affichez la sous-liste du 2ième au 3ième élément ;
- affichez la sous-liste du début au 2ième élément ;
- affichez la sous-liste du 3ième élément à la fin de la liste ;
- affichez la sous-liste complète de la liste ;
- affichez le dernier élément en utilisant un indexage négatif.

Exercice 2
Soit la liste suivante :
l=['mohamed','Ali','Lobna','Mohamed ali','Marwen amer','nabboula chakchamboula']
Écrivez un script qui affiche chacun de ces noms avec le nombre de caractères correspondant.

Exercice 3
Vous disposez d'une liste de nombres entiers quelconques, certains d'entre eux étant présents en
plusieurs exemplaires. Écrivez un script qui recopie cette liste dans une autre, en omettant les
doublons. La liste finale devra être triée.

Exercice 4
Écrire une boucle de programme qui demande à l'utilisateur d'entrer des notes de N élèves. Le nombre
entier N est saisi au préalable. Avec les notes ainsi entrées, construire progressivement une liste. Après
chaque entrée d'une nouvelle note (et donc à chaque itération de la boucle), afficher le nombre de
notes entrées, la note la plus élevée, la note la plus basse, la moyenne de toutes les notes.

Exercice 5
Écrire un script Python qui permet de lire un numéro (entre 1 et 7) et affiche le jour de la semaine
correspondant à ce numéro. On recommande l’utilisation d’un dictionnaire.

13
Exemple :

Donner le numéro du jour : 1 Donner le numéro du jour : 7


Lundi Dimanche

Exercice 6
Écrivez un script qui recherche le mot le plus long dans une phrase donnée (l'utilisateur du programme
doit pouvoir entrer une phrase de son choix). Tâchez de tenir compte des caractères accentués.

Exercice 7
Écrire un script Python qui permet de lire une chaîne de caractères et qui crée un dictionnaire qui
contient la fréquence de tous les mots de la chaîne entrée.

Exercice 8
Le type dictionnaire (ou tableau associatif ) permet de représenter des tableaux structurés. En effet,
à chaque clé un dictionnaire associe une valeur, et cette valeur peut elle-même être une structure de
donnée (liste, tuple ou un dictionnaire. . .).

Soit le tableau suivant représentant des informations physico-chimiques sur des éléments simples
(température d’ébullition (Te ) et de fusion (Tf ), numéro (Z) et masse (M) atomique :

Affectez les données de ce tableau à un dictionnaire dico python de façon à pouvoir écrire par
exemple :

>>> print dico["Au"]["Z/A"][0] # affiche : 79

Exercice 9
De part sa signification, un dictionnaire contient un recueil de mots associés à une définition ou
explication. Nous allons créer un prototype comme suit :

Dict={‘amer’ :’ de saveur âcre, irritante’,’borne’ :’ de saveur âcre, irritante’,

‘caverne’ :’ Cavité naturelle creusée dans la roche.’,……}

Ecrire un script Python qui permet à l’utilisateur de saisir un mot, de le chercher dans le dictionnaire.
S’il est trouvé, il affiche sa définition et sinon il demande à l’utilisateur de saisir la définition
correspondante et l’ajoute au dictionnaire. Le script boucle jusqu’à la lecture du mot fin.

Exercice 10
Définir deux ensembles (sets) : X = {a,b,c,d} et Y = {s,b,d}, puis affichez les résultats suivants :

14
– les ensembles initiaux ;
– le test d’appartenance de l’élément 'c' à X ;
– le test d’appartenance de l’élément 'a' à Y ;
– les ensembles X −Y et Y − X ;
– l’ensemble X ∪Y (union) ;
– l’ensemble X ∩Y (intersec on).

15
TP 4
Les fichiers
Exercice 1

Ecrire un script qui parcourt un fichier donné et en affiche chaque lignes avec son numéro de ligne. Il
est recommandé de saisir le nom du fichier et de tester son existence.

Exercice 2

Ecrire un script copy.py qui permet de copier un premier fichier dans un deuxième. On commence
par lire les deux noms de fichiers. Le script test l’existence des deux fichiers.

- Si le premier n’existe pas,


o le programme sera interrompu en affichant le message d’erreur correspondant.
- Sinon on ouvre le fichier en lecture
- Si le deuxième fichier existe, on demande à l’utilisateur s’il autorise son écrasement,
o s’il refuse, le programme sera interrompu en affichant le message d’erreur
correspondant.
o Sinon on ouvre le deuxième fichier en écriture
- La copie du premier fichier sera faite en lisant le contenu et l’écrivant dans le deuxième.

Exercice 3

1- On vous propose de créer un fichier Admission.txt qui contient le résultat d’un ensemble
de candidats à un concours. Chaque ligne est structurée ainsi :
Numéro Nom Prénom note résultat
Le numéro est un numéro séquentiel qui commence à 1.
Le nom est le prénom et note sont saisis par l’utilisateur.
Le résultat est admis si note est supérieur à 10, non admis sinon.
2- Compter, à l’aide de python bien sûr, le nombre total de candidats et le nombre de
candidats admissibles
3- A partir du fichier Admission.txt, créer un fichier Candidat.txt qui contient les noms et
les prénoms.
4- A partir du fichier Admission.txt, calculer la moyenne de la classe.

Exercice 4

Ecrire un script Python qui permet de créer un fichier contenant toute la table de
multiplication.

16
Exercice 5

Ecrire un script Python qui permet de lire le nom d’un fichier et de le réafficher à l’envers.
Le script doit :
- Tester l’existence du fichier tout d’abord
- Créer une fonction reverseVert(fichier) : qui reçoit en paramètre un nom de fichier
et le réaffiche en ordre inverse c’est à dire de la dernière ligne jusqu ‘au première.
- Créer une fonction reverseHoriz(fichier) : qui reçoit en paramètre un nom de fichier
et le réaffiche en inversant chaque ligne c’est à dire le dernier mot sera affiché le
premier et ainsi de suite.
- Appeler les deux fonctions.

17

Vous aimerez peut-être aussi