0% ont trouvé ce document utile (0 vote)
311 vues199 pages

Programmation avancée en Python

Transféré par

ossama zineddine
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)
311 vues199 pages

Programmation avancée en Python

Transféré par

ossama zineddine
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

‫ﻛﻠﯿﺔ اﻟﻌﻠﻮم واﻟﺘﻘﻨﯿﺎت ﺑﻄﻨﺠﺔ‬

Faculté des Sciences et Techniques de Tanger


Département Génie Informatique

Module : Programmation avancée avec python


Filière : Master Sciences de données et Intelligence artificielle (IASD)

Cours préparé et enseigné par :


▪ Pr. Sanae KHALI ISSA
Module : Programmation avancée avec python

Déroulement du cours

Introduction
Chapitre 1 : Les bases de la programmation python
- Instructions de base : lecture/écriture
- Les variables
- Les opérateurs
- Structure conditionnelle
- Structure itérative / boucle
- L’instruction : break
- L’instruction : continue
Chapitre 2 : Fonctions & Modules
- Modules
- Fonctions
Chapitre 3 : Structures de données
- Les types séquentiels : chaines de caractères, listes, tuples
- Les types de correspondance : dictionnaire
Chapitre 4 : Manipulation des fichiers
Chapitre 5 : Gestion des tableaux avec la bibliothèque NumPy
Chapitre 6 : Gestion des graphiques avec le libraire Matplotlib
Chapitre 7 : Analyse de données avec la bibliothèque Pandas
Projet de fin de module

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Introduction

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Introduction

Histoire du langage python


• 1991 : Guido van Rossum travaille aux Pays-Bas sur le projet AMOEBA : un système d’exploitation
distribué. Il conçoit Python à partir du langage ABC et publie la version 0.9.0 sur un forum Usenet.
• 1996 : sortie de Numerical Python, ancêtre de numpy
• 2001 : naissance de la PSF (Python Software Fundation)

Les versions se succèdent... Un grand choix de modules est disponible, des colloques annuels sont
organisés, Python est enseigné dans plusieurs universités et est utilisé en entreprise...

• 2006 : première sortie de IPython


• Fin 2008 : sorties simultanées de Python 2.6 et de Python 3.0
• 2013 : versions en cours des branches 2 et 3 : v2.7.3 et v3.3.0
• …
• 2 Octobre 2023 : sortie de la dernière version stable de python : v3.12.0

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Introduction

Points forts du langage python

• Python est libre et gratuit • Nombreux interpréteurs • Disponibilité des


• Modèle objet puissant
même pour les usages interactifs disponible bibliothèques et des
mais pas obligatoire
commerciaux • Importante documentation packages dans tous
• Structuration multi chier
• Importante communauté de disponible en lign les domaine
aisée des applications :
développeurs • Développement rapide et • Possibilité d’ajouter
facilite les modi cations
• Nombreux outils standards incrémentie d’autres fonctions
et les extensions
disponibles • Tests et déboggage outillés et modules.

Langage Open Langage Orienté Travail Ouverture


interactif au monde Extensible
simple source interprété Objet

• Langage de haut niveau


• Syntaxe claire et cohérent • Langage interprété rapid
• Interfaçable avec C/C++/FORTRA
• Gestion automatique de la • De nombreux modules
• Langage de script de plusieurs applications
mémoir disponibles à partir des
importantes : data science, développement web,
• Typage dynamique : pas de bibliothèques optimisées
application de bureau, etc
déclaration des types de (souvent écrites en C ou
• Excellente portabilité
données C++)
• Indépendant de la machine

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


e

fi

fi
s

Module : Programmation avancée avec python

Introduction

Exécution d’un programme en python


• Afin d’exécuter un programme en python, il faut installer un interpréteur python
téléchargeable depuis le site : [Link]
• Et utiliser un éditeur de texte pour rédiger les script python ou utiliser un IDE :
Integrated Development Environment tels que :

Sublime Text Visual Studio Code Pycharm Anaconda Jupyter

• Un script python est un ficher avec l’extension .py

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 1 : Les bases de la programmation Python

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 1 : les bases de la programmation python

La fonction : print
C’est une fonction qui permet d’afficher les éléments passés comme arguments de la fonction

Syntaxe générale

print (nom_variable)
print (nom_variable1, nom_variable2, …) Exemple
print (" texte ")
print ( " texte " , nom_variable) a=12
print ( f " texte { nom_variable } " ) b=200
print ( " texte {} " .format(nom_variable) ) print(a)
print(a, b)
print("c’est un exemple pour la fonction print ")
print("a=",a)
print(f"a={a} et b={b}")
print("a={} et b={}".format(a,b))

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 1 : les bases de la programmation python

La fonction : input
• C’est une fonction qui permet à l’utilisateur d’un programme de saisir des valeurs à l’aide de son
clavier.
• La fonction input() renvoie une valeur de type chaine de caractères, pour faire des calculs sur la
valeur saisie, il faut la convertir à un entier avec la fonction int (nom_variable) ou un réel avec la
fonction float(nom_variable)

Syntaxe générale
nom_variable = input () Exemple
nom_variable = input (" texte ")
a=input("entrer une première valeur : ")
b=input("entrer une deuxième valeur : ")
a=int(a)
b=int(b)
print(f"la somme de {a} et {b} est {a+b} ")

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 1 : les bases de la programmation python

Les variables
▪ Une variable est un emplacement mémoire dans lequel on peut mémoriser une valeur.
▪ Une variable est identifiée par son nom et son adresse.
▪ Le nom d’une variable doit :
‣ Etre formé des lettres (A - Z) (a - z), des chiffres (1 - 9) et des lignes de soulignement ( _ )
‣ Commencer par une lettre.
▪ En python, le typage des données est dynamique : le type d’une variable est déterminée selon la
valeur attribuée à cette variable.
‣ Pour savoir le type d’une variable, il suffit d’utiliser la fonction type (nom_variable)

Ex:
a=
print(type(a)
<class 'int'>

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


3

Module : Programmation avancée avec python

Chapitre 1 : les bases de la programmation python

Types natifs des variables

Types prédéfinis Signification Exemples

int Nombre entier a=1, b=-2

float Nombre réel a=1.3

complex Nombre complexe a=3+5j

bool Nombre logique a=true , b=false

str Chaine de caractères a=″Bonjour″, b=″s″

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 1 : les bases de la programmation python

Opérateurs arithmétiques

x+y Somme de x et y

x-y Différence de x et y
Opérateurs de comparaison
x*y Produit de x et y

x/y Quotient de x et y < inférieur à

x//y Quotient entier de x et y <= inférieur ou égal à


x%y reste de la division euclidienne de x et y > supérieur à

x**y x à la puissance y >= supérieur ou égal à


== égal à
Opérateurs logiques != différent

and ET logique
or OU logique
not Négation logique

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 1 : les bases de la programmation python

Opérateurs d’affectation
• C’est l’opération qui permet d’attribuer à une variable une valeur simple ou résultante
d’une expression arithmétique :
- Identi cateur_variable = valeur simpl
- Identi cateur_variable = expression arithmétiqu
• Une affectation multiple c’est attribuer à plusieurs variables une seule valeur avec une
seule affectation.
- Identi cateur_variable1=Identi cateur_variable2= Valeur
• Une affectation parallèle c’est affecter des valeurs à plusieurs variables en parallèle.
- Identi cateur_variable1, Identi cateur_variable2= Valeur1, Valeur 2

Exemple :
s=p*(r**2)
a=b=c=3
x,y,z=1,2,3

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


fi
fi
fi
fi
fi
fi
e

Module : Programmation avancée avec python

Chapitre 1 : les bases de la programmation python

Opérateurs d’assignation
Additionne les deux valeurs op1 et op2, le résultat est
op1+= op2 op1=op1 +op2 stocké dans op1

Soustrait les deux valeurs op1 et op2, le résultat est stocké


op1-= op2 op1= op1 – op2 dans op1
Multiplie les deux valeurs op1 et op2, le résultat est stocké
op1*= op2 op1= op1*op2 dans op1
Divise les deux valeurs op1 et op2, le résultat est stocké dans
op1/= op2 op1= op1/op2 op1
Divise les deux valeurs op1 et op2, la partie entière du résultat
op1//=op2 op1=op1//op2 est stocké dans op1

op1**=op2 op1=op1**op2 Calculer op1 à la puissance op2 et mettre le résultat dans op1

Exemple :
A+=2 #Ajouter 2 à A puis stocker la nouvelle valeur dans A
B//=5 # Diviser B sur 5 puis stocker la partie entière du résultat dans B
C**=3 # calculer C à la puissance 3 puis stocker le résultat dans C

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 1 : les bases de la programmation Python

Expression logique ▪ C’est une comparaison de deux valeurs de même type en


simple
utilisant un opérateur de comparaison.
▪ La valeur d’une expression logique est de type booléen (vrai ou
faux)

Exemple
A==B
A<=4

Expression logique ▪ C’est une combinaison entre deux expressions logiques simples
complexe
en utilisant un opérateur logique.
▪ La valeur d’une expression logique complexe est de type booléen
(vrai ou faux)

Exemple
Opérateur de Opérateur Opérateur de
comparaison logique comparaison

(A + 3 < B * 2) and (A % B == 0)
Expression logique Expression logique
simple simple

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 1 : les bases de la programmation Python

La structure conditionnelle : if

if expression logique :
Instruction 1
Instruction 2 Instructions à exécuter si
… l’expression logique est
Instruction n vraie

Exemple

if X % 2 == 0 :
print ( ″ c’est un nombre pair ″ )

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 1 : les bases de la programmation Python

La structure conditionnelle : if … else

if expression logique : Exemple


Instruction 1 à exécuter si
… l’expression if X % 2 == 0 :
Instruction n logique est vraie print (″ c’est un nombre pair ″)
else :
else :
print (″ c’est un nombre impair ″ )
Instruction 1 à exécuter si
… l’expression
Instruction n logique est fausse

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 1 : les bases de la programmation Python

La structure conditionnelle : if … elif … else

if expression logique_1 :
Instructions à exécuter si l’expression logique_1 est vraie
elif expression logique_2 :
Instructions à exécuter si l’expression logique_2 est vraie

elif expression logique_n :


Instructions à exécuter si l’expression logique_n est vraie
else :
Instructions à exécuter si toutes les expressions logiques citées
précédemment sont fausses

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 1 : les bases de la programmation Python

La structure conditionnelle : if … elif … else

Exemple

if X>0 :
print (″ C’est un nombre positif ″)
elif X < 0 :
print (″ C’est un nombre négatif ″ )
else :
print (″ C’est un nombre nul″ )

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 1 : les bases de la programmation Python

L’instruction : match … case

match IdentificateurVariable :

case Valeur1 :
Instructions à exécuter si IdentificateurVariable = Valeur1

case ValeurN :
Instructions à exécuter si IdentificateurVariable = ValeurN

case other :
Instructions à exécuter si IdentificateurVariable n’appartient pas à la liste
des valeurs {Valeur1, Valeur2, … , ValeurN}

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 1 : les bases de la programmation Python

L’instruction : match … case

Exemple
choix = input ("entrer votre choix : ")
match choix :
case "Lundi" :
print("1er jour de la semaine ")
case "Mardi" :
print("2ème jour de la semaine ")
case "Mercredi" :
print("3ème jour de la semaine ")
case "Jeudi" :
print("4ème jour de la semaine « )
case other :
print("choix introuvable ")

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 1 : structure conditionnelle

Exercice d’application

Ecrire un script python qui permet d’afficher les mentions suivantes selon la
valeur de la moyenne générale choisie par l’utilisateur.
- Si moyenne >=16, la mention affichée est : Très Bien
- Si 14 <= moyenne <16, la mention affichée est : Bien
- Si 12 <= moyenne <14, la mention affichée est Assez Bien
- Si 10 <= moyenne <12, la mention affichée est Passable
- Si moyenne <10, l’étudiant a échoué

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 1 : structure conditionnelle

Exercice d’application

moyenne = float (input (″ Entrer la moyenne générale : ″)


if moyenne >= 16 :
print (″ Vous avez une mention très bien ″)
elif moyenne >=14 :
print (″ Vous avez une mention bien ″ )
elif moyenne >=12 :
print (″ Vous avez une mention assez bien ″ )
elif moyenne >=10 :
print (″ Vous avez une mention passable ″ )
else :
print (″ Vous avez échoué″ )

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 1 : les bases de la programmation Python

Les boucles

Une boucle est un ensemble d’instructions qui se répètent un


certain nombre de fois.

Deux boucles sont utilisées en python :


▪ La boucle for
▪ La boucle while

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 1 : les bases de la programmation Python

La boucle for

for compteur in liste_valeurs :


Instruction 1
Instruction 2 à exécuter pour
chaque valeur du
… compteur
Instruction n

Exemple

for x in [1, 2, 3, 4, 5] :
print (″ x prend la valeur ″, x)

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 1 : les bases de la programmation Python

La boucle for
for i in "Bonjour" :
print (i, end = " ") # le résultat d’exécution est l’affichage des caractères B o n j o u r
for x in [4, 5, 6] :
print (x, end = " ") # le résultat d’exécution est l’affichage des valeurs 4 5 6
for y in ["B", 15, 3.6, "Et"] :
print (y, end = " ") # le résultat d’exécution est l’affichage des valeurs B 15 3.6 Et
for j in range(5) :
print (j, end = " ") # le résultat d’exécution est l’affichage des valeurs 0 1 2 3 4
for k in range (1, 5) :
print (k, end = " ") # le résultat d’exécution est l’affichage des valeurs 1 2 3 4
for k in range (1, 10, 3) :
print (k, end = " ") # le résultat d’exécution est l’affichage des valeurs 1 4 7

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 1 : les bases de la programmation Python

La boucle while

while expression logique :

Instruction 1 Exemple
à exécuter tant
Instruction 2 que l’expression
… x=1
logique est vraie
Instruction n while x < =5 :
print (″ x prend la valeur ″, x)
x=x+1

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 1 : les bases de la programmation Python

La boucle while
Exercice d’application
Ecrire un script python qui demande à l’utilisateur d’introduire un ensemble des
valeurs numériques puis calculer et afficher leur carré.
Le script s’arrête une fois l’utilisateur introduit la valeur 0.

Solution
N = int(input (″ Entrer une valeur :″))
while N != 0 :
Carre = N*N
print (f ″ le carré du nombre saisi est {Carre}″)
N = int(input (″ Entrer une valeur :″))

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 1 : les bases de la programmation Python

L’instruction break

L’instruction break permet de « casser » l’exécution d’une boucle (while ou


for). C’est à dire, elle fait sortir de la boucle et passer à l’instruction suivante.

Exemple avec la boucle for Exemple avec la boucle while


for val in "Bonjour": i=0
if val == "j": while True:
break print(i)
print(val) i=i+1 Résultat d’exécution
if i >= 5:
0
Résultat d’exécution break
1
B 2
o 3
n 4

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 1 : les bases de la programmation Python

L’instruction continue

Le mot-clé continue est utilisé pour terminer l'itération en cours dans une
boucle for (ou une boucle while), et passer à l'itération suivante.

Exemple avec la boucle for Exemple avec la boucle while


for val in "Bon": i=7
if val == "o": while i>0: Résultat d’exécution
continue i=i-1
print(val) if i == 5: 6
continue 5
Résultat d’exécution print(i) 4
3
B
2
n
1
0

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique avancée & Programmation python

Chapitre 2 : Fonctions & Modules

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 2 : Fonctions

Définition

- Une fonction est un bloc d’instructions regroupées sous un même nom (le choix
du nom de la fonction doit répondre aux mêmes contraintes pour choisir un identificateur
d’une donnée).
- Une fonction peut avoir des paramètres/arguments
- Une fonction peut renvoyer une valeur avec le mot clé return
- Pour exécuter le code d’une fonction, il suffit d’écrire son nom avec ses paramètres
( dans le cas d’une fonction ayant des paramètres)

Syntaxe générale d’une fonction def nom_fonction (liste des paramètres) :


Instruction 1
avec des paramètres et ayant une
Instruction 2
valeur de retour …
Instruction N
return (nom_variable)

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 2 : Fonctions

Exemple 1

def afficher_numeros () :
n=int(input("entrer le nombre des valeurs à afficher : "))
for i in range(n) :
print(i)
afficher_numeros () # appel de la fonction afficher_numeros ()

Résultat d’exécution
Entrer le nombre des valeurs à afficher : 6
0
1
2
3
4
5

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 2 : Fonctions

Exemple 2

def afficher_numeros (n) :


for i in range(n) :
print(i)
N=int(input("entrer le nombre des valeurs à afficher : "))
afficher_numeros (N) # appel de la fonction avec un paramètre

Résultat d’exécution
Entrer le nombre des valeurs à afficher : 6
0
1
2
3
4
5

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 2 : Fonctions

Exemple 3

def afficher_numeros (n =3 ) :
for i in range(n) :
print(i)
N=4
afficher_numeros (N) # appel de la fonction avec un paramètre
afficher_numeros () # appel de la fonction sans paramètre permet de prendre la valeur par défaut

Résultat d’exécution
0
1
2
3
0
1
2

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 2 : Fonctions

Exemple 4

def somme (x, y) :


s =x+y
print ( "la somme des deux valeurs est : ", s )

a=int(input("entrer le premier nombre : "))


b=int(input("entrer le deuxième nombre : "))
somme (a, b) # appel de la fonction somme avec deux paramètres a et b

Résultat d’exécution

12
10
La somme des deux valeurs est : 22

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 2 : Fonctions

Exemple 5

def somme (x, y) :


s =x+y
return (s)

a=int(input("entrer le premier nombre : "))


b=int(input("entrer le deuxième nombre : "))
print ( "la somme des deux valeurs est : ", somme (a, b)) # appel de la fonction somme

Résultat d’exécution

12
10
La somme des deux valeurs est : 22

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 2 : Fonctions

Les fonctions récursives

Une fonction récursive est une fonction ayant des paramètres et


ayant aussi une valeur de retour dans laquelle on fait appel à la
fonction ELLE-MÊME.

Exemple d’une fonction def factorielle (x) :


calculant la factorielle f=1
d’un entier if x==0 :
return 1
else :
Méthode itérative for i in range(2, x+1) :
f=f*i
return f

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 2 : Fonctions

Les fonctions récursives

Une fonction récursive est une fonction ayant des paramètres et


ayant aussi une valeur de retour dans laquelle on fait appel à la
fonction ELLE-MÊME.

Exemple d’une fonction def factorielle (x) :


calculant la factorielle if x==0 :
d’un entier return 1
else :
return x * factorielle(x-1)
Méthode récursive

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 2 : Modules

Définition
• Un projet Python est généralement composé de plusieurs fichiers sources ayant l’extension .py,
• Un module est un fichier script Python permettant de définir des éléments de programme
réutilisables dans d’autres scripts python. Ce mécanisme permet d’élaborer efficacement des
bibliothèques de fonctions ou de classes.
• L’utilisation des modules peut avoir plusieurs avantages à savoir :
- La réutilisation du code ;
- La possibilité d’intégrer la documentation et les tests au module ;
- La réalisation de services ou de données partagés ;

Exemples des modules standards de python


• Module math : il fournit un ensemble de fonctions permettant de réaliser des calculs mathématiques
complexes
• Module random : il implémente des générateurs de nombres pseudo-aléatoires pour différentes
distributions
• Module datetime : il fournit des classes pour manipuler de façon simple ou plus complexe des dates et des
heures
• Module sys : il fournit un accès à certaines variables système utilisées et maintenues par l’interpréteur, et à
des fonctions interagissant fortement avec ce dernier

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 2 : Modules

Importation des modules

• Afin d’importer le contenu d’un module:


- import nom_module # permet d’importer tout le contenu du module
- import nom_module as nom_alias # permet d’importer tout le contenu du module avec la
création d’un alias vers le nom de module
- from nom_module import * # permet d’importer tous les éléments du module (méthodes et
variables)
- from nom_module import nom_element # permet d’importer un élément précis du module

Exemples
import math import math as mt from math import *
x=int(input(" x= ") x=int(input(" x= " ) x=int(input(" x= " )
print(" RC= " , [Link](x)) print(" RC= " , [Link](x)) y=int(input(" y= " )
print(" le pgcd des deux valeurs est :",
gcd(x, y)

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 2 : Modules

Exemple de création et d’importation d’un module

Module [Link]
def addition (x, y) : Script principal
return (x+y)
from calcul import *

def soustraction (x, y) : a=float(input(" Entrer une première valeur : " ))


return (x-y) b=float(input(" Entrer une deuxième valeur : " ))
s=addition (a, b)
def multiplication (x, y) : print ("La somme des deux valeurs est ", s)
return (x*y) d=soustraction (a, b)
print ("La différence des deux valeurs est ", d)
p=multiplication (a, b)
print ("Le produit des deux valeurs est ", p)

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 2 : Fonctions & Modules

Exercices : Série N1

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : Structures de données

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : structures de données

Définition d’une structure de données


▪ Une structure de données est un ensemble d’objets/éléments pouvant être :
‣ De même ou de différents types.
‣ Mutables ou immuables (les éléments sont changeables ou non)
‣ Ordonnés ou non ordonnés (l’ordre des éléments est important ou non)
▪ On distingue trois types de structures de données : séquentielles, ensemblistes ou de
correspondance.
▪ Une structure de données séquentielle peut être une chaine de caractères, une liste ou
un tuple.
▪ Une structure de données de correspondance se présente sous forme d’un dictionnaire.
▪ Et ensembliste sous forme d’un ensemble.

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : chaines de caractères

Définition

- Une chaine de caractère est un ensemble ordonné de caractères non modifiables.


- Les caractères peuvent être :
• Des lettres en majuscules (A, B, …, Z ) ou en minuscules (a, b, …, z)
• Des chiffres (0, 1, …, 9)
• Des signes de ponctuation ( . : ; , ? ] [ } { ! … )
• Des caractères spéciaux ( # @ & $ / + = - _ % ç à ° £ < é > § … )

Syntaxe de définition des chaines de caractères


ch1 = " c’est une chaine de caractères "
ch2 = ‘ ceci est une chaine de caractères ‘
ch3 = ‘ c\’est une chaine de caractères ‘
ch4 = "" # déclaration d’une chaine vide
ch5 = r " c’est un texte1\n \t c’est un texte2 " # ceci consiste à ignorer les caractères spéciaux \n \t
ch6 = “““ chaine de caractères sur
plusieurs lignes “““

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : chaines de caractères

Manipulation des chaines de caractères

- Les opérateurs mathématiques qui peuvent être appliqués sur une chaine de
caractères sont : * et +
- Pour la comparaison des chaines de caractères, on utilise les opérateurs : ==, != ,
<,>

Exemple
ch1 = "salut "
ch2 = "les programmeurs"
ch3 = ch1 + ch2
print (ch3) # permet d’afficher le texte : salut les programmeurs
ch4 = ch1*3
print (ch4) # permet d’afficher le texte : salut salut salut
print (ch1 == ch2 ) # renvoie la valeur False
print (ch1 > ch2 ) # renvoie la valeur True

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : chaines de caractères

Manipulation des chaines de caractères

- Pour accéder à un caractère d’une chaine, il suffit de préciser sa position entre


crochets
- Les indices de la position des caractères commencent par 0 ( de gauche à droite)
et par -1 (de droite à gauche)
- C’est possible d’accéder aux éléments d’une chaine de caractères, via la méthode
de slicing

Exemple
ch3 = "salut les programmeurs"
print (ch3[1] ) # permet d’afficher le caractère ‘a’
print (ch3[-5] ) # permet d’afficher le caractère ‘m’
print (ch3[: 5] ) # permet d’afficher les caractères ayant indice de 0 à 4 : ‘salut’
print (ch3[10:17] ) # permet d’afficher les caractères ayant indice de 10 à 16: ‘program’
print (ch3[-12:] ) # permet d’afficher les caractères ayant indice de -1 à -12 : ‘programmeurs’

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : chaines de caractères

La fonction len (), bool ()


- La fonction len() est une fonction utilisée pour le type de données string. Elle
permet de renvoyer une valeur entière représentant le nombre de caractères
d’une chaine de caractères (longueur d’une chaine).
- La fonction bool() permet de vérifier si une chaine est vide ou non, dans la cas vide,
elle renvoie False sinon True

Exemple
ch1 = ""
ch2 = "salut les programmeurs"
L1=len(ch1)
L2=len(ch2)
print (L1) # permet d’afficher la valeur 0
print (L2) # permet d’afficher la valeur 22
print(bool(ch1)) # permet d’afficher False

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : chaines de caractères

Méthodes associées aux chaines de caractères

- Une méthode est une fonction associée à un type de données : str, int, float, etc.
- Pour afficher la liste des méthodes associées au type str
• print(dir(str)) ou bien print(dir("")

Exemple
print(dir(str)
[‘__add__’, '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__',
'__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__',
'__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__',
'__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__',
'__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format',
'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric',
'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'removeprefix',
'removesuffix', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip',
'swapcase', 'title', 'translate', 'upper', 'zfill']

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : chaines de caractères

Les méthodes startswith(), endswith()

- La fonction startwith() est une fonction qui permet de vérifier si une chaine de
caractère commence par un ou plusieurs caractères, la méthode renvoie une
valeur de type booléen : True ou False.
- La fonction endswith() est une fonction qui permet de vérifier si une chaine de
caractère se termine par un ou plusieurs caractères, la méthode renvoie une valeur
de type booléen : True ou False.

Exemple
chaîne = "234567891"
if chaî[Link] ("2345") :
print("ok") # permet d’afficher ok
if chaî[Link] ("91") :
print("ok") # permet d’afficher ok

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : chaines de caractères

Les méthodes : index (), rindex ()


- La méthode index() permet de rechercher l'index de la première occurrence d’une valeur
spécifiée dans une chaîne. S'il n'existe pas, une erreur est déclenchée (ValueError : sous-chaîne
non trouvée)
- La méthode rindex() permet de rechercher l'index de la dernière occurrence d’une valeur
spécifiée dans une chaîne. S'il n'existe pas, une erreur est déclenchée (ValueError : sous-chaîne
non trouvée)
- Paramètres des fonctions index (Valeur, Début, Fin) et rindex(Valeur, Début, Fin)
• Valeur (Obligatoire) : La valeur à rechercher
• Début (Optionnel) : Où commencer la recherche. La valeur par défaut est 0
• Fin (Optionnel) : Où terminer la recherche. La valeur par défaut est à la fin de la chaîne

Exemple
chaine1 = "Coucou tout le monde"
print([Link]("t")) # permet d’afficher 7
print([Link]("u", 7, 19)) # permet d’afficher 9
print([Link]("o") # permet d’afficher 16
print([Link]("o", 7, 19) # permet d’afficher 16

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : chaines de caractères

La méthode : count ()

- La méthode count() permet de compter le nombre d’occurrences d’une sous-


chaîne dans une chaîne.
- Paramètres de la fonction count (Valeur, Début, Fin)
• Valeur (Obligatoire) : La valeur à rechercher
• Début (Optionnel) : Où commencer la recherche. La valeur par défaut est 0
• Fin (Optionnel) : Où terminer la recherche. La valeur par défaut est à la fin de la chaîne

Exemple
chaine1 = "Coucou tout le monde"
chaine2 = "ou"
print([Link](chaine2)) # permet d’afficher 3
print([Link]("o", 3, 10)) # permet d’afficher 2

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : chaines de caractères

Les méthodes : find (), rfind()

- La méthode find() permet de rechercher la position de la première occurence d’une sous-


chaîne dans une chaîne.
- La méthode rfind() permet de rechercher la position de la dernière occurence d’une sous-
chaîne dans une chaîne.
- Paramètres des fonctions find (Valeur, Début, Fin) et rfind (Valeur, Début, Fin)
• Valeur (Obligatoire) : La valeur à rechercher
• Début (Optionnel) : Où commencer la recherche. La valeur par défaut est 0
• Fin (Optionnel) : Où terminer la recherche. La valeur par défaut est à la fin de la chaîne
- Les deux fonctions find() et rfind() renvoient -1 dans le cas où la valeur à rechercher n’existe
pas

Exemple
chaine1 = "Salut tout le monde tout le monde"
chaine2 = "tout"
print([Link](chaine2)) # permet d’afficher 6
print([Link](chaine2)) # permet d’afficher 20

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : chaines de caractères

La méthode : replace ()

- La méthode replace() permet de remplacer des caractères d’une chaine par d’autres.
- La méthode replace(Ancienne, Nouvelle, nombre) prend trois paramètres:
- Ancienne(Obligatoire) : La chaîne à rechercher
- Nouvelle(Obligatoire) : La nouvelle chaîne par laquelle remplacer l’ancienne chaîne
- Nombre (Optionnel) : Un nombre spécifiant le nombre d’occurrences de l’ancienne chaîne souhaitant
remplacer. La valeur par défaut est toutes les occurrences
- La méthode replace() renvoie une copie de la chaîne dans laquelle l’ancienne chaîne est
remplacée par la nouvelle chaîne. La chaîne d’origine ne change pas.
- Si l’ancienne chaîne n’est pas trouvée, la méthode replace () renvoie la copie de la chaîne
d’origine.

Exemple
chaine1 = "Salut tout le monde"
chaine2="Bonjour"
print([Link]("Salut", chaine2)) # permet d’afficher ‘Bonjour tout le monde’

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : chaines de caractères

Les méthodes : upper (), lower (), swapcase (), capitalize ()

- La méthode upper() permet de convertir une chaine de caractères en majuscules.


- La méthode lower() permet de convertir une chaine de caractères en minuscules.
- La méthode swapcase() permet de convertir les lettres minuscules d’une chaine de
caractères en majuscules et les lettres majuscules en minuscules.
- La méthode capitalize() permet de convertir la première lettre d’une chaîne en
majuscule.

Exemple
string = "CE MATIN il fait beau"
print([Link]()) #permet d’afficher ‘CE MATIN IL FAIT BEAU ‘
string = "CE MATIN il fait beau"
print([Link]()) #permet d’afficher ‘ce matin il fait beau’
string = "ce mAtin IL Fait beau"
print([Link]()) #permet d’afficher ‘CE MaTIN il fAIT BEAU’
string = "ce matin il fait beau"
print([Link]()) #permet d’afficher ‘Ce matin il fait beau’

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : chaines de caractères

Les méthodes : strip (), rstrip (), lstrip ()


- La méthode strip() permet de supprimer à partir d’une chaîne tous les caractères à droite et à
gauche indiquées en paramètres de la méthode.
- La méthode rstrip() permet de supprimer à partir d’une chaîne tous les caractères à droite indiquées
en paramètres de la méthode.
- La méthode lstrip() permet de supprimer à partir d’une chaîne tous les caractères à gauche
indiquées en paramètres de la méthode.
- Si le paramètre de la méthode n’est pas précisé, la méthode supprime les espaces (le paramètre
par défaut)
- Les trois méthodes strip(), rstrip(), lstrip() retournent une copie de la chaine après sa
modification.

Exemple
chaine1 = " c’est un test pour la méthode strip "
print([Link]()) #permet d’afficher : c’est un test pour la méthode strip
chaine2 = "c’est un test pour la méthode rstrip :?!}#"
print([Link](":#?!}")) #permet d’afficher : c’est un test pour la méthode rstrip
chaine3 = "c’est un test pour la méthode rstrip"
print([Link]("c'est ")) #permet d’afficher : un test pour la méthode lstrip

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : chaines de caractères

Exercices : Série N2

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : les listes

Définition d’une liste

▪ Une liste est une séquence d’éléments, ordonnés, mutables, de même ou de


différents types.
▪ Une liste se présente sous le format suivant :
nom_liste = [element1, element_2, …, element_n]

Exemple
Liste_1 = [] # permet de définir une liste vide
Liste_2 = [1, 2, 3, 4] # permet de définir une liste des entiers
Liste_3 = ["A", "B", "C"] # permet de définir une liste de caractères
Liste_4 = ["Lundi", "Mardi", "Mercredi", "Jeudi"] # permet de définir une liste de jours
Liste_5 = ["Lundi", "M", 3, 4.5, "?"] # permet de définir une liste hétérogène

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : les listes

Appliquer des opérations sur les listes

Les deux opérateurs + et * sont utilisés avec les listes :


• Pour concaténer deux listes (ajouter une liste à la fin d’une autre liste) :
nom_liste1 = nom_liste2 + nom_liste3
• Pour multiplier le contenu d’une liste par une valeur numérique
nom_liste1= nom_liste * valeur_numérique

Exemple
Liste_1 = [13, 11] # permet de définir une liste des entiers
Liste_2 = ["A", "B", "C"] # permet de définir une liste de caractères
Liste_3 = Liste_1+Liste_2
print (Liste_3) # permet d’afficher : [13, 11,"A", "B", "C"]
Liste_3=Liste_3*2
print (Liste_3) # permet d’afficher : [13, 11, 'A', 'B', 'C', 13, 11, 'A', 'B', 'C']

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : les listes

Autres méthodes pour création de liste : range() et list ()

▪ La fonction range() permet de générer un ensemble de valeurs comprises entre


valeur_1 et valeur_2 (valeur_2 non incluse)
range (valeur_1, valeur_2, pas de changement)

▪ La fonction list() permet de convertir un ensemble des valeurs (string, tuple, set,
dictionnaire) vers une liste.

Exemple
Liste_1 = list(range (5)) # permet de définir une liste des entiers allant de 0 à 4
print (Liste_1) # permet d’afficher la liste : [0, 1, 2, 3, 4]
L=list("Bonjour")
print(type(L)) # permet d’afficher le type de L : <class 'list'>
print(L) # permet d’afficher la liste : ['B', 'o', 'n', 'j', 'o', 'u', 'r']

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : les listes

Autres méthodes pour création de liste : split()

▪ La fonction split() permet de transformer une chaine de caractères en liste.


▪ La méthode split (séparateur, nbr_division) prend deux paramètres:
‣ séparateur (optionnelle) : spécifie le séparateur à utiliser lors de division de la chaîne.
Par défaut, l’espace est un séparateur
‣ nbr_division (optionnelle) : spécifie le nombre de division à effectuer. La valeur par
défaut est -1, qui signifier « toutes les occurrences »

Exemple
chaine = "exemple de la fonction split" # permet de définir une chaine de caractères
L1 = [Link] ()
print(L1) # permet d’afficher la liste : [‘exemple', 'de', 'la', 'fonction', ‘split']
L2 = [Link] (" ", 2)
print(L2) # permet d’afficher la liste : ['exemple', 'de', 'la fonction split’]

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : les listes

Autres méthodes pour création de liste : join()

▪ La méthode join() permet de créer des chaînes à partir d’un ensemble d’éléments
(liste, tuple, dictionnaire, etc…) en utilisant un séparateur de chaîne.
▪ La méthode join() prend un seul paramètre qui est l’ensemble d’éléments à
concaténer, et renvoie la chaîne concaténée.

chaine = "séparateur_chaine".join (liste_elements)

Exemple
Liste = ["B", "O", "N", "J", "O", "U", "R"] # permet de définir une liste
chaine_1 = "/".join(Liste)
print(chaine_1) # permet d’afficher la chaine : ‘B/O/N/J/O/U/R’
chaine_2 = "".join(Liste)
print(chaine_2) # permet d’afficher la chaine : BONJOUR

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : les listes

Accéder aux éléments d'une liste

▪ Pour accéder aux éléments d’une liste, il est possible d’utiliser :


‣ L’indiçage positif (0, 1, 2, etc.)
‣ L’indiçage négatif (-1, -2, -3, etc.)
‣ La méthode de slicing ( extraire une tranche d’éléments d’une liste)

Exemple
Liste = ["Lundi", "Mardi", "Mercredi", "Jeudi" ]
print (Liste [1] ) # permet d’afficher la valeur : Mardi
print (Liste [-2] ) # permet d’afficher la valeur : Mercredi
x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print (x[:]) # permet d’afficher : [0 1 2 3 4 5 6 7 8 9]
print (x[::2]) # permet d’afficher : [0 2 4 6 8]
print (x[1:6:3]) # permet d’afficher : [1 4 ]
print (x[1:-1]) # permet d’afficher : [1 2 3 4 5 6 7 8]

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : les listes

Parcourir une liste

▪ Pour parcourir une liste, il est possible d’utiliser la boucle for selon la syntaxe
suivante :
for nom_variable in nom_liste :
Instruction_1

Instruction_n

Exemple
Liste = ["Lundi", "Mardi", "Mercredi", "Jeudi"] Résultat d’exécution
for i in Liste :
Lundi
print (i)
Mardi
Mercredi
Jeudi

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : les listes

Afficher les éléments d’une liste

▪ La méthode enumerate() permet d’afficher les éléments d’une liste associés à des
index.

for index, nom_variable in enumerate (nom_liste) :


print(index, nom_variable)

Exemple
Résultat d’exécution
Liste_1 = ["Lundi", "Mardi", "Mercredi", "Jeudi"]
for i, x in enumerate(Liste_1) : 0 Lundi
print (i, x) 1 Mardi
2 Mercredi
3 Jeudi

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : les listes

Afficher les éléments d’une liste

▪ La méthode zip() permet de lier les éléments d’une liste avec une deuxième liste ou
plus.

for valeur_1, valeur_2, …, valeur_n in zip (liste_1, liste_2, …, liste_n) :


print(valeur_1, valeur_2, …, valeur_n)

Exemple
Liste_1 = ["Lundi", "Mardi", "Mercredi", "Jeudi"] Résultat d’exécution
Liste_2 = [1, 2, 3, 4] Lundi 1
for i, x in zip(Liste_1, Liste_2) : Mardi 2
print (i, x) Mercredi 3
Jeudi 4

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : les listes

Méthodes associées aux listes : len(), count(), clear()

▪ La fonction len() permet de calculer la longueur d’une liste (le nombre d’éléments
d’une liste)
▪ La fonction count() permet de compter le nombre d’occurrence d’une valeur dans
une liste.
▪ La fonction clear() permet de supprimer tous les éléments d’une liste. Elle permet
de renvoyer une liste vide.

Exemple
L = ["Lundi", "Mardi", "Mercredi", "Jeudi" ]
print (len(L) ) # permet d’afficher la valeur : 4
print ([Link]("Lundi") ) # permet d’afficher la valeur : 1
[Link]() # permet de supprimer tous les éléments d’une liste

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : les listes

Méthodes associées aux listes : remove(), pop(), del()

▪ La fonction remove() permet de supprimer un élément à partir d’une liste en introduisant


sa valeur.
▪ La fonction pop() permet de supprimer un élément à partir d’une liste en utilisant son
index. Si le paramètre de la fonction n’est pas précisé, la fonction prend la valeur par défaut :
-1 ( le dernier élément de la liste)
▪ La fonction del() permet de supprimer un élément à partir d’une liste en utilisant son
index ou une tranche de valeurs.

Exemple
L = [1, 2, 3, 4, 5, 6, 7, 8, 9]
[Link](5) # permet de supprimer l’élément 5 de la liste L
print (L) # permet d’afficher : [1, 2, 3, 4, 6, 7, 8, 9]
[Link](3) # permet de supprimer l’élément ayant l’indice 3 à partir de la liste L
print (L) # permet d’afficher : [1, 2, 3, 6, 7, 8, 9]
del L[5] # permet de supprimer l’élément ayant l’indice 5 à partir de la liste L
del L[1:4] # permet de supprimer les éléments ayant les indices : 1, 2, 3 à partir de la liste L
print (L) # permet d’afficher : [1, 7, 9]

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : les listes

Méthodes associées aux listes : max(), min(), sum()

▪ La fonction max() permet de rechercher la valeur maximale dans une liste.


▪ La fonction min() permet de rechercher la valeur minimale dans une liste.
▪ La fonction sum() permet de calculer la somme des éléments d’une liste.
▪ Les trois fonctions : max(), min(), sum() prennent un seul paramètre :
nom_liste et renvoient une valeur numérique.

Exemple
L = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print (max(L)) # permet d’afficher : 9
print (min(L)) # permet d’afficher : 1
print (sum(L)) # permet d’afficher : 45

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : les listes

Méthodes associées aux listes : append(), insert(), extend()

▪ La fonction append() permet d’ajouter un élément à la fin d’une liste


▪ La fonction insert() permet d'insérer un élément dans une liste à une position
donnée.
▪ La fonction extend() permet d’ajouter un ensemble d’éléments à la fin d’une liste.

Exemple
L = [1, 2, 3, 4, 5, 6, 7, 8, 9]
[Link](10)
print (L) # permet d’afficher : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[Link](4, 101)
print (L) # permet d’afficher : [1, 2, 3, 4, 101, 5, 6, 7, 8, 9, 10]
[Link] ([10, 11, 12])
print (L) # permet d’afficher : [1, 2, 3, 4, 101, 5, 6, 7, 8, 9, 10, 10, 11, 12]

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : les listes

Méthodes associées aux listes : sort()

▪ La fonction sort() permet de trier une liste selon un ordre croissant ou décroissant sans
renvoyer une nouvelle liste, les modifications sont appliquées sur la liste d’origine.
▪ Les listes contenant des chaines de caractères sont triées selon l’ordre alphabétique.
▪ Pour spécifier le type de tri à appliquer (croissant ou décroissant), la méthode est utilisée avec
un paramètre appelé reverse de type bool, sa valeur par défaut : False.
reverse= True ( Trie décroissant), reverse = False (Trie croissant)

Exemple
L = [11, 2, 43, 114, 25, 6, 27, 18, 19]
[Link](reverse=True)
print (L) # permet d’afficher :[114, 43, 27, 25, 19, 18, 11, 6, 2]

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : les listes

Méthodes associées aux listes : reverse(), index()

▪ La fonction reverse() permet d’inverser les éléments d’une liste, la méthode


reverse() ne renvoie aucune liste, les modifications sont appliquées sur la liste
d’origine.
▪ La méthode index() permet de rechercher l’indice de la première occurence d’une
valeur dans une liste (dans le cas ou la valeur à rechercher n’existe pas , la méthode affiche
une erreur)

Exemple
L = ["S", "B", "A", "E", "AU", "ET"]
[Link]()
print (L) # permet d’afficher : ['ET', 'AU', 'E', 'A', 'B', ’S’]
print ([Link]("E")) # permet d’afficher : 2

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : les listes

Liste d’une liste

▪ Une liste d’une liste est un ensemble d’éléments dont chaque élément est une
liste.
▪ Pour définir une liste, on utilise la syntaxe suivante :
nom_liste = [[element_1, element_2, …, element_n], [element_1, element_2, …,
element_n], …, [element_1, element_2, …, element_n]]

Exemple
Liste=[[12,"Janvier", 2000], [2,"Mai", 2005], [22,"Mars", 1999], [11,"Juin", 2002]]
print (Liste) # permet d’afficher : [[12, 'Janvier', 2000], [2, 'Mai', 2005], [22, 'Mars', 1999], [11, 'Juin',
2002]]
print(Liste[2]) # permet d’afficher : [22, 'Mars', 1999]
print(Liste[1][2]) # permet d’afficher : 2005
print(Liste[:][1]) # permet d’afficher : [2, 'Mai', 2005]

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : les listes

Compréhension de liste

▪ Il s’agit d’une méthode simplifiée de créations de listes dans le but d’optimiser les programmes
en python.
▪ Syntaxe générale :
nom_liste = [fonction(element) for element in nom_liste if condition]

Exemple 1 Exemple 2
liste_1=[1, 2, 3, 4, 5] L1=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
liste_2=[] L2=[]
for x in liste_1 : for x in L1 :
liste_2.append(x*x) if x%2==0 :
print (liste_2) # permet d’afficher : [1, 4, 9, 16, 25] [Link](x)
print (L2) # permet d’afficher : [2, 4, 6, 8, 10]
Equivalent à :
Equivalent à :
liste_1=[1, 2, 3, 4, 5]
liste_2=[x*x for x in liste_1] L1=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
L2=[x for x in L1 if x%2==0]

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : les listes

Exercice d’application

On considère une liste L contenant les notes d’un groupe d’étudiants inscrits dans une formation
donnée.
Écrire un script python qui permet de faire un ensemble de traitements selon un menu affiché à
l’utilisateur. L’utilisateur quitte l’exécution du programme lorsqu’il choisit la valeur 11.
Le menu contient les éléments suivants :
1. Ajouter une note
2. Afficher la liste des notes des étudiants
3. Inverses la liste des notes des étudiants
4. Rechercher une note
5. Afficher la note maximale
6. Afficher la note minimale
7. Afficher la note moyenne du groupe
8. Trier la liste des notes d’une manière décroissante
9. Supprimer une note
[Link] toutes les notes
[Link] l’exécution du programme

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : les tuples

Définition d’un tuple

▪ C’est une structure de données assez semblable à une liste.


▪ Il s’agit d’une séquence d’éléments, ordonnés, de même ou de différents
types. Mais inchangeable (non mutables).
▪ Un tuple se définit comme suit :
nom_tuple = (element1, element_2, …, element_n)
nom_tuple = element1, element_2, …, element_n

Exemple
tuple_1 = () # permet de définir un tuple vide
tuple_2 = (1, 2, 3, 4) # permet de définir un tuple des entiers
print(tuple_2) # permet d’afficher : (1, 2, 3, 4)
tuple_3 = 1, 2, 3, 4 # permet de définir un tuple des entiers
tuple_4 = ("Lundi", 22, "Janvier", 2000) # permet de définir un tuple
print(tuple_4) # permet d’afficher : ("Lundi", 22, "Janvier", 2000)

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : les tuples

Opérations appliquées sur les tuples

▪ Toutes les opérations appliquées sur les listes sont applicables sur les tuples : +, *
▪ Les méthodes utilisées pour manipuler les listes sont utilisées également avec les
tuples à condition qu’elles modifient pas les éléments du tuple (car un tuple est
une séquence immuable)

▪ Exemples des méthodes qui ne sont pas utilisées avec les tuples : remove(), del,
pop(), sort(), insert(), append, extend(), clear(), reverse(), etc.

Exemple
tuple1, tuple2 = ("a","b"), ("c","d","e")
tuple3 = tuple1*4 + tuple2
print(tuple3) # permet d’afficher : (‘a’, 'b', 'a', 'b', 'a', 'b', 'a', 'b', 'c', 'd', ‘e')
for x in tuple3 :
print(x, end="-") # permet d’afficher : a-b-a-b-a-b-a-b-c-d-e-

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : les tuples

La méthode tuple()

▪ La méthode tuple() est utilisée afin de convertir une liste ou une chaine de
caractères vers le type tuple
▪ La syntaxe utilisée est la suivante :
nom_tuple= tuple (nom_chaine)

nom_tuple=tuple(nom_liste)

Exemple
Liste_1 = [13, "B", 16.5, "AU", "et"]
Chaine_1 = "Bonjour"
tuple_1=tuple(Liste_1)
print(tuple_1) # permet d’afficher : (13, 'B', 16.5, 'AU', ‘et')
tuple_2=tuple(Chaine_1)
print(tuple_2) # permet d’afficher : (‘B’, ‘o', 'n', 'j', 'o', 'u', 'r')

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : le dictionnaire

Définition d’un dictionnaire

▪ C’est une structure de données assez semblable à une liste.


▪ Il s’agit d’une séquence d’éléments, mutables, de même ou de différents
types. Mais non ordonnée.
▪ Un dictionnaire se définit sous forme d’une clef : valeur :
nom_dictionnaire = { clef_1 : valeur, clef_2 : valeur, …, clef_n : valeur}

▪ Les clefs d’un dictionnaire sont uniques

Exemple
dico_1 = {}# permet de définir un dictionnaire vide
dico_2 = {1: "un", 2: "deux", 3: "trois", 4: "quatre"} # permet de définir un dictionnaire
print(dico_2) # permet d’afficher : {1: 'un', 2: 'deux', 3: 'trois', 4: ‘quatre'}
dico_2[5] = "cinq" # permet d’ajouter l’élément 5 : "cinq" au dictionnaire dico_2
print(dico_2) # permet d’afficher : {1: 'un', 2: 'deux', 3: 'trois', 4: ‘quatre’, 5:’cinq’}

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : le dictionnaire

Manipulation de dictionnaires

▪ Pour afficher les éléments d’un dictionnaire, trois méthodes sont utilisées :
items(), keys() et values().
▪ La méthode items() permet d’afficher les éléments d’un dictionnaire.
▪ La méthode keyes() permet d’afficher les clés d’un dictionnaire
▪ La méthode values() permet d’afficher les valeurs d’un dictionnaire

Exemple
dico = {1: "un", 2: "deux", 3: "trois", 4: "quatre"} # permet de définir un dictionnaire
print(dico) # permet d’afficher : {1: 'un', 2: 'deux', 3: 'trois', 4: ‘quatre'}
print([Link]()) # permet d’afficher : dict_items([(1, 'un'), (2, 'deux'), (3, 'trois'), (4, 'quatre')])
print([Link]()) # permet d’afficher : dict_keys([1, 2, 3, 4])
print([Link]()) # permet d’afficher : dict_values(['un', 'deux', 'trois', 'quatre'])

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : le dictionnaire

Parcourir un dictionnaire
Exemple 3
Exemple 1
dico = {1: "un", 2: "deux", 3: "trois"}
dico = {1: "un", 2: "deux", 3: "trois"} for x in [Link] :
for x, y in [Link]() : print(x)
print(x, y)
un
1 un
deux
2 deux
trois
3 trois

Exemple 2
dico = {1: "un", 2: "deux", 3: "trois"}
for x in [Link] :
print(x)

1
2
3

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : le dictionnaire

La méthode dict()

▪ La méthode dict() permet de convertir une liste (liste de liste) ou un tuple


(tuple de tuple) vers un dictionnaire
▪ La méthode dict() est utilisée également pour créer un dictionnaire vide

Exemple
D0=dict() # permet de définir un dictionnaire vide
L=[[1, "Janvier"], [2, "Février"], [3, "Mars"]]
T=((4, "Avril"), (5, "Mai"), (6, "Juin"))
D1=dict(L)
D2=dict(T)
print(D1) # permet d’afficher : {1: 'Janvier', 2: 'Février', 3: 'Mars'}
print(D2) # permet d’afficher : {4: 'Avril', 5: 'Mai', 6: 'Juin'}

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : le dictionnaire

La méthode get()

▪ La méthode get() renvoie la valeur de la clé donnée si elle est présente dans le
dictionnaire. Sinon, il renverra None (si get() est utilisé avec un seul argument).
▪ La méthode get utilise la syntaxe suivante avec deux paramètres :
nom_dictionnaire.get(clef, valeur_renvoyée)
- Clef : le nom de clé de l’élément à renvoyer sa valeur
- Valeur_renvoyée : (facultatif) valeur à renvoyer si la clé n’est pas trouvée. La valeur par
défaut est None.

Exemple
dico = {1: "un", 2: "deux", 3: "trois", 4: "quatre"} # permet de définir un dictionnaire
print([Link](2)) # permet d’afficher : deux
print([Link](5,"Element introuvable")) # permet d’afficher : Element Introuvable

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : le dictionnaire

La méthode pop()

▪ La méthode pop() permet d’extraire la valeur équivalente à la clé précisée comme


argument de la fonction et de la supprimer depuis les éléments du dictionnaire.
▪ La méthode pop() utilise la syntaxe suivante :
Valeur_renvoyée=nom_dictionnaire.pop(clef)
- Clef : le nom de clé de l’élément à supprimer
- Valeur_renvoyée : valeur équivalente au clef à supprimer, si la clé n’est pas trouvée. La
valeur renvoyée sera None.

Exemple
dico = {1: "un", 2: "deux", 3: "trois", 4: "quatre"} # permet de définir un dictionnaire
print([Link](2)) # permet d’afficher : deux
print([Link](5)) # permet d’afficher : None
print(dico) # permet d’afficher : {1: 'un', 3: 'trois', 4: ‘quatre'}

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : le dictionnaire

Exercice d’application

On considère un dictionnaire Notes contenant les notes obtenues par un groupe


d’étudiants dans un module donnée.
Les clés de ce dictionnaire sont représentés par les noms des étudiants tandis que
les valeurs des clés sont représentées par les moyennes générales obtenues.
Écrire un script python qui permet de :
1. Remplir ce dictionnaire par les noms ainsi que les notes de N étudiants (N est choisi par
l’utilisateur)
2. Afficher la liste des étudiants avec leurs notes triée par ordre alphabétique
3. Diviser ce dictionnaire en deux sous dictionnaires (valides, non_valides) : le premier
contient les étudiants ayant validé ce module, le deuxième contient les étudiants n'ayant
pas validés ce module. Afficher les deux dictionnaires.
4. Rechercher puis afficher le nom de l’étudiant ayant la note maximale.

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique avancée & Programmation python

Chapitre 3 : le dictionnaire

Solution
# Question 1 print("Les étudiants qui ont validé le module : ", V)
Notes={} print("Les étudiants qui n’ont pas validé le module : ", NV)
N=int(input("Nombre des étudiants : "))
for i in range (N) : # Question 4
print("Etudiant " , i+1) def max_notes(dict_notes):
nom=input("Nom = ") L=[]
note=float(input("Note = ")) for a,b in dict_notes.items() :
Notes[nom]=note if b==max(dict_notes.values()) :
# Question 2 [Link](a)
print("Liste des étudiants par ordre alphabétique : ") return L
for x in sorted([Link]()): print("Les étudiants ayant la note maximale sont : ")
print(x, Notes[x]) print(max_notes(Notes))
# Question 3
V={}
NV={}
for x,y in [Link]():
if y>=10:
V[x]=y
else :
NV[x]=y

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : le dictionnaire

Dictionnaire d’une structure de données

▪ Les valeurs d’un dictionnaire peuvent être des valeurs simples pour chaque clef ou
bien une structure de données (liste, tuple ou même un dictionnaire)
▪ La syntaxe utilisée pour créer un dictionnaire d’une structure de données

nom_dictionaire = { clef_1 : liste_1, clef_2= liste_2,


…., clef_n : liste_n}

Exemple
dico_1 = {"Hiver": ["Décembre", "Janvier", "Février" ], "Printemps": ["Mars", "Avril", "Mai" ]}
dico_2={"Eté": ["Juin", "Juillet", "Août" ], "Automne": ["Septembre", "Octobre", "Novembre" ]}
dico_3={1: dico_1, 2 : dico_2}
print(dico_3)
""" permet d’afficher {1: {'Hiver': ['Décembre', 'Janvier', 'Février'], 'Printemps': ['Mars', 'Avril', 'Mai']}, 2: {'Eté': ['Juin',
'Juillet', 'Aôut'], 'Automne': ['Septembre', 'Octobre', ‘Novembre']}} """

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : le dictionnaire

Exercice d’application

▪ Ecrire un script python qui permet de saisir N valeurs numériques puis les
classer dans un dictionnaire contenant deux listes : une liste des valeurs positives
et une deuxième liste des valeurs négatives.
▪ Dictionnaire={
"valeurs positives": [],
"valeurs négatives": []
}
▪ Le script affiche un message approprié dans le cas d’une valeur nulle

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : le dictionnaire

Solution

Nombres={
"Positif" : [],
"Négatif" : []
}
N=int(input("Entrer le nombre des valeurs à classer : "))
for i in range(N) :
n=int(input ("entrer un nombre : "))
if n>0 :
Nombres["Positif"].append(n)
elif n<0 :
Nombres["Négatif"].append(n)
else :
print("Vous avez tapé une valeur nulle ")

print(Nombres)

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 3 : structures de données

Exercices : Série N3

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 4 : Manipulation des fichiers

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 4 : les fichiers

Définition

Un ficher est un ensemble structuré de données regroupées et enregistrées sur


un support de stockage
Un ficher est identifié par son nom et son format (txt, csv, json, xlsx, docx, rtf,
xml, etc. )
Chaque fichier est localisé grâce à son chemin absolu ou son chemin relatif
• Le chemin relatif d’un fichier est déterminé à partir d’un emplacement donné
emplacement de lecture (ex : programs/[Link])
• Le Chemin absolu est un chemin complet déterminé à partir de la racine (ex : "/Users/
sanakh/Desktop/exemples programmes python/[Link]

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 4 : les fichiers

Vérifier l’existence d’un fichier

Afin de vérifier l’existence d’un fichier ou non, on peut utiliser la fonction exists()
du module path qui appartient au module Python standard os.
Cette fonction renvoie :
• True si le chemin du fichier passé est un chemin qui existe
• False si le chemin n’existe pas.

Exemple
import os
if [Link]("/Users/sanakh/Desktop/exemples programmes python/[Link]")== True :
print("Le fichier existe")
else :
print("Le fichier n'existe pas ")

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 4 : les fichiers

La méthode getcwd() et chdir()

• Les deux méthodes getcwd() et chdir() existent dans le module standard os de


python.
• La méthode getcwd() sert à afficher le répertoire courant
• La méthode chdir(nouveau_chemin) permet de changer le chemin du
répertoire courant vers un autre utilisé comme argument de la fonction.

Exemple
import os
print([Link]()) # permet d'afficher : /Users/sanakh
[Link]("/Users/sanakh/Desktop/exemples programmes python")
print([Link]()) # permet d'afficher : /Users/sanakh/Desktop/exemples programmes python

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 4 : les fichiers

Supprimer un fichier

Pour supprimer un fichier à partir d’un emplacement donnée, on peut utiliser la


fonction remove() du module Python standard os.
La méthode remove() renvoie une erreur si le fichier à supprimer n’existe pas.

Exemple
import os
if [Link]("/Users/sanakh/Desktop/exemples programmes python/[Link]") :
[Link]("/Users/sanakh/Desktop/exemples programmes python/[Link]")
print("Fichier supprimé avec succès ")
else :
print("Le fichier à supprimer n'existe pas ")

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 4 : les fichiers

Ouverture et fermeture d’ un fichier

• Pour ouvrir un fichier, on peut utiliser la fonction open()


• La méthode open() utilise deux arguments : le chemin du ficher à ouvrir et le mode
d’ouverture
descripteur_fichier = open("nom_fichier", "mode_ouverture")
Avec :
nom_ fichier : une chaine de caractère constante ou bien une variable de type string
mode_ouverture : un paramètre servant à déterminer le mode d’ouverture de fichier
• Pour fermer un fichier, on utilise la fonction close()

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 4 : les fichiers

Modes d’ouverture d’un fichier

Mode Description

Ouvrir un fichier déjà existant en lecture seule. Le pointeur interne est


r : read placé au début du fichier.
Ouvrir un fichier en écriture seule. Si le fichier existe, les informations
w : write existantes seront écrasées. Sinon, le fichier sera crée.
Ouvrir un fichier en écriture seule en conservant les données existantes. Le
a : append pointeur interne est placé en fin de fichier et les nouvelles données seront
donc ajoutées à la fin. Si le fichier n’existe pas, il sera crée.

Exemple
id_fichier=open("/Users/sanakh/Desktop/exemples programmes python/[Link]", "r")
print (id_fichier)
""" Permet d’afficher <_io.TextIOWrapper name='/Users/sanakh/Desktop/exemples programmes python/
[Link]' mode='r' encoding=‘UTF-8'> « ""
id_fichier.close() # permet de fermer le fichier identifié par son descripteur id_fichier

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 4 : les fichiers

Ouverture d’ un fichier

• Afin d’ouvrir un fichier, on peut utiliser la fonction open() associé avec le mot with
• La méthode open() utilise deux arguments : le chemin du ficher à ouvrir et le mode
d’ouverture
with open("nom_fichier", "mode_ouverture") as descripteur_fichier :
Avec :
nom_ fichier : une chaine de caractère constante ou bien une variable de type string
mode_ouverture : un paramètre servant à déterminer le mode d’ouverture de fichier

Exemple
with open("/Users/sanakh/Desktop/exemples programmes python/[Link]", "a") as d_fichier :
print (d_fichier) # permet d’afficher les informations sur le fichier identifié par d_fichier

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 4 : les fichiers

Lire le contenu d’un fichier

• Avant de commencer la lecture d’un fichier, il faut l’ouvrir en mode lecture.


• Pour lire le contenu d’un fichier, on peut utiliser la boucle for qui permet de
parcourir le fichier ligne par ligne.
for nom_variable in descripteur_fichier :
print (nom_variable)

Exemple
id_fichier=open("/Users/sanakh/Desktop/exemples programmes python/[Link]", "r")
for x in id_fichier :
print (x) # permet d’afficher le contenu du fichier [Link]
id_fichier.close()

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 4 : les fichiers

Lire le contenu d’un fichier : read()

• Avant de commencer la lecture d’un fichier, il faut l’ouvrir en mode lecture.


• Pour lire le contenu d’un fichier, on peut utiliser la fonction read()
valeur_renvoyée = id_fichier.read()
Avec : valeur_ renvoyée contient le contenu du fichier à lire

Exemple
id_fichier=open("/Users/sanakh/Desktop/exemples programmes python/[Link]", "r")
print (id_fichier.read()) # permet d’afficher le contenu du fichier [Link]
id_fichier.close()

Résultat d’exécution
a=int(input("a="))
b=int(input("b="))
print(f"la somme de {a} et {b} est : {a+b} ")

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 4 : les fichiers

Lire le contenu d’ un fichier : readlines()

• Avant de commencer la lecture d’un fichier, il faut l’ouvrir en mode lecture.


• La fonction readlines() permet de lire le contenu d’un fichier ligne par ligne puis
stocker ces lignes dans une liste ( chaque ligne représente un élément de la liste)
nom_liste = id_fichier.readlines()

Exemple
id_fichier=open("/Users/sanakh/Desktop/exemples programmes python/[Link] », "r")
Liste_1= id_fichier.readlines()
print (Liste_1)
# permet d’afficher : ['Lundi 28 Novembre 2022\n', 'Mardi 29 Novembre 2022\n', 'Mercredi 30 Novembre 2022\n',
'Jeudi 01 Décembre 2022\n', 'Vendredi 02 Décembre 2022\n', 'Samedi 03 Décembre 2022\n', 'Dimanche 04
Décembre']
id_fichier.close()

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 4 : les fichiers

Ecrire dans un fichier : write()

• Avant de commencer l’écriture dans un fichier, il faut l’ouvrir en mode d’écriture


ou mode ajout.
• La fonction write() permet d’ajouter un texte dans un fichier
valeur_renvoyée = write(texte à ajouter)
Avec:
valeur_renvoyée : elle représente le nombre de caractères ajoutés dans le fichier
Texte à ajouter : l’élément à ajouter dans le fichier, il peut être une valeur constante ou une
variable de type str

Exemple
id_fichier=open("/Users/sanakh/Desktop/exemples programmes python/[Link] ", "w")
v=id_fichier.write("c’est un texte à ajouter dans le fichier texte")
print (f"le nombre de caractères ajoutés au ficher est {v}")
id_fichier.close()

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 4 : les fichiers

Calculer la taille d’un ficher avec la méthode getsize()

• La méthode getsize() appartient au module path du module standard os de


python.
• La fonction getsize() permet de calculer la taille d'un fichier en octets
valeur_renvoyée = getsize(nom_fichier)
Avec:
valeur_renvoyée : elle représente le nombre d’octets du fichier

Exemple
import o
x=[Link]("exemple_ [Link]"
print("le chier que vous avez choisi est de taille ", x, "octets")

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


s

fi
fi
)

Module : Programmation avancée avec python

Chapitre 5 : Gestion des tableaux avec la


bibliothèque NumPy

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

Définition d’un tableau

▪ C’est une séquence d’éléments ordonnés, modifiables et de même ou de


différents types (int, float ou str)
▪ Un tableau peut avoir une seule dimension, deux dimensions ou N
dimensions.

……..

Tableau à une Tableau à deux Tableau à trois Tableau à N


seule dimension dimensions dimensions dimensions
1D 2D 3D nD

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

Création d’un tableau

▪ Plusieurs méthodes du module numpy sont disponibles pour la création des


tableaux de différentes dimensions.
▪ Parmi ces méthodes :
‣ array()
‣ arange(), linspace()
‣ randn(), randint()
‣ ones(), zeros(), full(),
‣ Etc.

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

La fonction array()

▪ La méthode array(…) du module numpy permet de convertir une liste vers un


tableau, elle prend un seul paramètre :
‣ Une liste pour un tableau d’une seule dimension
‣ Une liste de listes pour un tableau de deux dimensions

Exemple
from numpy import *
T1 = array ([1, 2, 3, 4, 5]) # permet de définir un tableau d’une seule dimension
print (T1) # permet d’afficher : [1 2 3 4 5]
print (type(T1)) # permet d’afficher <class ‘[Link]’>
T2= array ([[1, 2] , [ 3, 4]]) # permet de définir un tableau de deux dimensions
print (T2)
« "" permet d’afficher :
[1 2],
[ 3 4]
"""

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

La fonction arange()

▪ La fonction arange(…) du module numpy permet de créer un tableau à une


seule dimension.
▪ La méthode arange(début, fin, pas) prend trois paramètres :
‣ début : première valeur du tableau
‣ fin : dernière valeur du tableau (avec dernière valeur non incluse)
‣ pas : valeur de pas pour changer les valeurs du tableau

Exemple
from numpy import *
T1 = arange (6) # permet de définir un tableau d’une seule dimension composé des valeurs 0, 1, 2, 3, 4 et 5
print (T1) # permet d’afficher : [0 1 2 3 4 5]
T2= arange (2, 10, 2)
print (T2) # permet d’afficher : [2 4 6 8]
print (type(T2)) # permet d’afficher : <class ‘[Link]'>

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

La fonction linspace()

▪ La fonction linspace(…) du module numpy sert à créer un tableau (une seule


dimension) à partir d’une liste des valeurs aléatoires.
▪ La fonction linspace(début, fin, n) prend trois paramètres :
‣ début : première valeur du tableau
‣ fin : dernière valeur du tableau (avec dernière valeur incluse)
‣ n : nombre des valeurs aléatoires à créer entre début et fin

Exemple
from numpy import *
T1 = linspace (1,6, 4) # permet de définir un tableau d’une seule dimension
print (T1) # permet d’afficher : [1. 2.66666667 4.33333333 6. ]

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

La fonction randn()

▪ La fonction randn(…) du module [Link] sert à créer un tableau


rempli par des valeurs aléatoires.
▪ La fonction [Link](n_lignes, n_colonnes) prend deux paramètres :
‣ n_lignes : nombre de lignes du tableau à créer
‣ n_colonnes : nombre de colonnes du tableau à créer

Exemple
from numpy import *
T1 = [Link] (2, 3) # permet de définir un tableau de 2 linges et 3 colonnes
print (T1)
"""permet d’afficher :
[[ 1.09666015 -1.46504893 1.73101646]
[-0.6840089 0.2359427 0.36864442]]"""

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

La fonction randint()

▪ La fonction randint(…) du module [Link] sert à créer un tableau


rempli par des valeurs aléatoires de type int et comprises entre deux valeurs.
▪ La fonction [Link](valeur_initiale, valeur_finale, shape) prend
trois paramètres :
‣ valeur_initiale : la valeur minimale des éléments du tableau
‣ valeur_finale : la valeur maximale des éléments du tableau (valeur_finale non
incluse)
‣ shape : Le nombre de lignes et de colonnes du tableau à créer

Exemple
from numpy import *
T1 = [Link] (1, 10, (2,6)) # permet de définir un tableau de 2 linges et 6 colonnes
print (T1)
"""permet d’afficher :
[[5 8 4 6 2 2]
[9 9 1 8 9 9]]"""

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

Autres fonctions pour créer un tableau

▪ La fonction ones(shape) permet de créer un tableau rempli par la valeur 1.


▪ La fonction zeros(shape) permet de créer un tableau rempli par la valeur 0.
▪ La fonction full(shape, V) permet de créer un tableau rempli par une valeur V.

Avec shape : (nombre_lignes, nombre_colonnes)

Exemple
from numpy import *
T1 = ones ((2, 3)) # permet de définir un tableau de 2 linges et 3 colonnes rempli par la valeur 1
T2 = zéros ((3, 5)) # permet de définir un tableau de 3 linges et 5 colonnes rempli par la valeur 0
T3 = full ((2, 3), 12) # permet de définir un tableau de 2 linges et 3 colonnes rempli par la valeur 12

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

Les méthodes : ndim(), shape() et size()

• La fonction ndim(...) permet d’afficher la dimension d’un tableau.


• La fonction shape(…) sert à afficher le nombre de lignes et de colonnes d’un
tableau.
• La fonction size(…) sert à afficher le nombre d’éléments d’un tableau.

Exemple
from numpy import *
T1 = array ([1, 2, 3, 4, 5]) 1 2 3 ndim(T2) = 2
T2= array ([[1, 2, 3] , [ 4, 5, 6]]) 4 5 6 shape(T2) = (2,3)
print(ndim(T1))# permet d’afficher 1 size(T2) = 6
T2
print(ndim(T2))# permet d’afficher 2
print(size(T2))# permet d’afficher 6
print (shape(T2)) # permet d’afficher : (2, 3) ndim(T1) = 1
1 2 3 4 5 shape(T1) = (1,)
print ([Link][0]) # permet d’afficher 2
print ([Link][1]) # permet d’afficher 3 T1 size(T1) = 5

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

Exercice d’application 1

• Ecrire un script qui permet de créer puis afficher les éléments d’un tableau rempli
par des valeurs aléatoires de type int.
- Les valeurs maximale et minimale du tableau ainsi que le nombre de lignes et de colonnes
sont déterminés par l’utilisateur.

Solution
from numpy import * v_min=int(input("Entrer la valeur minimale : "))
def afficher_tableau(Tab) : v_max=int(input("Entrer la valeur maximale : "))
for i in range([Link][0]) : n_lig=int(input("Entrer le nombre de lignes : "))
for j in range([Link][1]) : n_col=int(input("Entrer le nombre de colonnes : "))
print(Tab[i,j], end = " ") T=[Link](v_min, v_max, (n_lig, n_col))
print("") afficher_tableau(T)

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

Accéder aux éléments d’un tableau

Pour accéder aux éléments d’un tableau, il est possible d’utiliser :


• L’indiçage positif (0, 1, 2, etc.)
• L’indiçage négatif (-1, -2, -3, etc.)
• La méthode de slicing ( extraire une tranche d’éléments d’un tableau)

Exemple
from numpy import *
T1 = array ([1, 2, 3, 4, 5]) # permet de définir un tableau d’une seule dimension
print (T1[1], T1[-2]) # permet d’afficher : 2 4
T2= array ([[1, 2, 3] , [ 4, 5, 6]]) # permet de définir un tableau de deux dimensions
print (T2[1, 1]) # permet d’afficher : 5
print (T2[0][2]) # permet d’afficher : 3

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

La méthode de slicing pour les tableaux

• La méthode de slicing est une méthode d’extraction d’une une tranche d’éléments à partir
d’un tableau
• La méthode de slicing appliquée pour un tableau est différente à celle appliquée aux listes et
aux chaines de caractères.
• La syntaxe générale utilisée est la suivante :
nom_tableau [début_l : fin_l , début_f : fin_f, pas ]

Avec : fin_1 et fin_2 non inclus et pas = 1 par défaut

Exemple
from numpy import * 1 2 3 4 1 2 3 4
T= array ([[1, 2, 3, 4] , [ 5, 6, 7, 8], [ 9, 10, 11, 12]])
T1=T[1:2, 1:3] 5 6 7 8 5 6 7 8
T2= T[:, 2:] 9 10 11 12 9 10 11 12

T1 T2

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

La fonction append()
• La fonction append(…) permet d’ajouter des éléments à la fin d’un tableau en renvoyant une
copie de ce tableau.
• La fonction append(…) utilise un argument appelé axis qui prend soit la valeur 1 ou 0.
- axis =0 : pour ajouter une ligne
- axis =1 : pour ajouter une colonne

Exemple 1 Exemple 2
from numpy import * from numpy import *
T1 = ones((2,5)) T1 = ones((3,5))
T2=append(T1,[[1,2,3,4,5]], axis=0) T3=append(T2,[[1],[2],[3]], axis=1)
print(T2) print(T3)

1 1 1 1 1 1 1 1 1 1 1
T2 1 1 1 1 1 T3 1 1 1 1 1 2
1 2 3 4 5 1 1 1 1 1 3

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

La fonction insert()

• La fonction insert(…) permet d’insérer des éléments à une position donnée. La fonction
renvoie une copie du tableau.
• La fonction insert(nom_tableau, indice_position, valeur_insérer, axis) utilise un
argument appelé axis qui prend soit la valeur 1 ou 0.
- indice_position : l’indice de la position
- valeur_insérer : les valeurs à insérer dans le tableau
- axis =0 : pour insérer une ligne
- axis =1 : pour insérer une colonne

Exemple
from numpy import * 1 2 3 4
T= array ([[1, 2, 3, 4] , [ 5, 6, 7, 8], [ 9, 10, 11, 12]]) T1 5 6 7 8
print(T) 1 1 1 1
T1=insert(T, 2, [1, 1, 1, 1], axis=0)
9 10 11 12
print(T1)

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

La fonction delete()
• La fonction delete(…) permet de supprimer des éléments à partir d’un tableau (lignes ou
colonnes) en renvoyant une copie du tableau.
• La fonction delete(nom_tableau, objet, axis) utilise trois arguments :
- objet : les indices des éléments à supprimer
- axis : indicateur pour préciser l’élément à supprimer.
- axis = 0 : pour supprimer une ligne
- axis = 1 : pour supprimer une colonne

Exemple
from numpy import *
1 3
T= array ([[1, 2, 3, 4] , [ 5, 6, 7, 8], [ 9, 10, 11, 12]])
5 7
T1=delete(T, [1, 3], axis=1) # permet de supprimer les colonnes ayant les indices 1 et 3
9 11
print(T1)
T1

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

Appliquer des opérations mathématiques sur les tableaux

• C’est possible d’appliquer les opérateurs mathématiques suivants sur les tableaux : +, -, *,
**, /, //, %
• Les dimensions des tableaux doivent être égales.

Exemple
from numpy import *
T1 = full((2, 4), 3) # permet de définir un tableau de 2 lignes et 4 colonnes rempli par 3
T2= ones((2, 4)) # permet de définir un tableau de 2 lignes et 4 colonnes rempli par 1
T3=T1+T2
print (T3)
"""permet d’afficher
[4. 4. 4. 4.]
[4. 4. 4. 4.]] """

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

Les fonctions : sum(), prod(), max(), min() et mean()

• La fonction sum() permet de calculer la somme des éléments d’un tableau.


• Les deux fonctions max() et min() permettent respectivement de chercher le maximum et
le minimum d’un tableau.
• La fonction mean() permet de calculer la moyenne des éléments d’un tableau.

Exemple
from numpy import *
T1 = [Link](1, 10, (4,5)) 3 3 4 1 7 [Link]()=102
print ([Link]()) [Link]()=5204415283200
7 8 7 7 1
print ([Link]()) [Link]()= 8
5 7 8 2 6
print ([Link]()) [Link]()=1
8 2 5 7 4
print ([Link]()) [Link]()=5.1
print ([Link]()) T1

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

Exercice d’application 2
• Ecrire un script python qui permet de créer un tableau T, de shape (n, m).
• Le script contient les fonctions suivantes :
- Une fonction somme() qui permet de calculer la somme des éléments de chaque ligne du
tableau T.
- Ecrire une fonction produit() qui permet de calculer le produit des éléments de chaque
colonne du tableau T
- Ecrire une fonction maximum() qui permet de chercher et afficher la valeur maximale
de chaque ligne du tableau T.
- Ecrire une fonction minimum() qui permet de chercher et afficher la valeur minimale de
chaque colonne du tableau T.

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

Les fonctions : sum(), max(), min() et mean()


• C’est possible d’appliquer ces fonctions pour chaque ligne ou chaque colonne en ajoutant
l’argument axis.
• axis = 0 : appliquer les fonctions pour chaque colonne
• axis=1 : appliquer les fonctions pour chaque ligne

Exemple
from numpy import *
T=array([[1.24, 2.3, 16, 4, 5],[124, 12.3, 18, 2, 6], [24, 12, 19, 7, 3]])
T1=[Link](axis=0)
print(T1) axis = 1
T1 149.24 26.6 53 13 14
T2=[Link](axis=1)
axis = 0

1.24 2.3 16 4 5
print(T2) T2 16 124 24
124 12.3 18 2 6
T3=[Link](axis=0) 24 12 19 7 3
print(T3) T3 1.24 2.3 16 2 3
T4=[Link](axis=1)) T
print(T4) T4 5.708 32.46 13

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

Exercice d’application 3

Ecrire un script python qui permet de créer un tableau T, de shape (n, m). Après le remplissage
du tableau T, le script calcule et affiche sa variance et son écart type.
• Pour calculer la variance d’un tableau.

• Pour calculer l’écart type d’un tableau.

Avec : n : nombre d’éléments du tableau T


xi : l’ensemble des valeurs du tableau T
-
x : la moyenne des valeurs du tableau T

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

Les fonctions : std(), var()


• La méthode var() permet de calculer la variance d’un tableau.
• La méthode std() permet de calculer l’écart type d’un tableau.
• C’est possible d’appliquer ces fonctions pour chaque ligne ou chaque colonne en ajoutant
l’argument axis.
• axis = 0 : appliquer les fonctions pour chaque colonne
• axis=1 : appliquer les fonctions pour chaque ligne

Exemple
from numpy import * 2 19 2 7 [Link]() = 29.555555555555557
T= [Link](1, 20, (4,5)) 12 14 13 12
[Link]() =5.436502143433364
print ([Link]()) 14 7 18 16
print ([Link]())
T

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

La fonction sort()

• La méthode sort(…) permet de trier les éléments d’un tableau. Elle permet de
renvoyer une copie du tableau trié.
• En ajoutant le paramètre axis, ça permet de trier le tableau selon les lignes ou les
colonnes (axis=0 : trier les éléments de chaque colonne - axis =1 : trier les éléments de
chaque ligne)

Exemple
from numpy import * 14 8 2 15 5 4 2 5
T1= [Link](1, 20, (3,4)) T1 5 8 16 5 11 8 4 15 T2
print (T1) 11 4 4 19 14 8 16 19
T2=sort(T1, axis=0)
2 8 14 15
print (T2)
T3 5 5 8 15
T3=sort(T1, axis=1)
4 4 11 19
print (T3)

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

Exercice d’application 4
Ecrire un script python qui permet de créer un tableau M de shape (n, m). Après le
remplissage du tableau M par n x m valeurs aléatoires de type int, le script calcule et affiche
son transposé Tr.

Exemple

3 6 4 9 3 4 12
M 4 3 8 2 => 6 3 9 Tr(M)
12 9 7 5 4 8 7
9 2 5

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

Calculer le transposé d’une matrice

• La méthode transpose(…) permet de calculer le transposé d’un tableau en


renvoyant une copie du tableau.

Exemple
import numpy as np
T=[Link]([[3, 6, 4, 5],[4, 3, 8, 2], [12, 9, 7, 3]])
T1=[Link](T)
print(T2)
3 4 12
3 6 4 5 6 3 9
T 4 3 8 2 => 4 8 7 T1
12 9 7 3 5 2 3

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

La fonction concatenate()

• La méthode concatenate(…) permet de concaténer deux tableaux selon une


colonne ou une ligne
• La méthode concatenate((tableau_1, tableau_2), axis) prend trois
paramètres
‣ tableau_1 : nom du premier tableau
‣ tableau_2 : nom du deuxième tableau
‣ axis : paramètre pour déterminer le type de la concaténation à faire :
• axis = 0 : concaténation selon la ligne
• axis=1 : concaténation selon la colonne

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

La fonction concatenate()

Exemple 1 Le nombre de colonnes des tableaux à concaténer doit être le même

import numpy as np 6 6 6 6 6 6 6 6
T1=[Link]((3,4),6) T1 6 6 6 6 6 6 6 6
T2=[Link]((2,4),2) 6 6 6 6 6 6 6 6
T3=[Link]((T1,T2), axis=0) =>
2 2 2 2
print(T3) 2 2 2 2
T2 2 2 2 2
2 2 2 2
T3

Exemple 2 Le nombre de lignes des tableaux à concaténer doit être le même


import numpy as np
M1=[Link]((4,3),4) 4 4 4 3 3 4 4 4 3 3
M2=[Link]((4,2),3) 4 4 4 3 3 4 4 4 3 3
4 4 4
=> 4 4 4 3 3
M3=[Link]((M1,M2), axis=1) 3 3
print(M3) 4 4 4 3 3 4 4 4 3 3

M1 M2 M3

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

Exercice d’application 5
Ecrire un script python qui permet de créer deux tableaux T1 de shape (n, p) et T2 de shape
(p, m) . Après le remplissage des deux tableaux T1 et T2, le script calcule et affiche le produit
matriciel de deux tableaux.

3 x 4 + 6 x 12 + 4 x 24 + 5 x 7 —> 215

3 6 4 5 4 2 215 165

12 18 258 140
4 3 8 2 x =>
24 9 345 258
12 9 7 3
7 3
T3
T1
T2

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

Exercice d’application 5
Ecrire un script python qui permet de créer deux tableaux T1 de shape (n, p) et T2 de shape
(p, m) . Après le remplissage des deux tableaux T1 et T2, le script calcule et affiche le produit
matriciel de deux tableaux.

3 x 2 + 6 x 18 + 4 x 9 + 5 x 3 —> 165

3 6 4 5 4 2 215 165

12 18 258 140
4 3 8 2 x =>
24 9 345 258
12 9 7 3
7 3
T3
T1
T2

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

Exercice d’application 5
Ecrire un script python qui permet de créer deux tableaux T1 de shape (n, p) et T2 de shape
(p, m) . Après le remplissage des deux tableaux T1 et T2, le script calcule et affiche le produit
matriciel de deux tableaux.

4 x 4 + 3 x 12 + 8 x 24 + 2 x 7 —> 258

3 6 4 5 4 2 215 165

12 18 258 140
4 3 8 2 x =>
24 9 345 258
12 9 7 3
7 3
T3
T1
T2

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

Exercice d’application 5
Ecrire un script python qui permet de créer deux tableaux T1 de shape (n, p) et T2 de shape
(p, m) . Après le remplissage des deux tableaux T1 et T2, le script calcule et affiche le produit
matriciel de deux tableaux.

4 x 2 + 3 x 18 + 8 x 9 + 2 x 3 —> 140

3 6 4 5 4 2 215 165

12 18 258 140
4 3 8 2 x =>
24 9 345 258
12 9 7 3
7 3
T3
T1
T2

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

Exercice d’application 5
Ecrire un script python qui permet de créer deux tableaux T1 de shape (n, p) et T2 de shape
(p, m) . Après le remplissage des deux tableaux T1 et T2, le script calcule et affiche le produit
matriciel de deux tableaux.

12 x 4 + 9 x 12 + 7 x 24 + 3 x 7 —> 345

3 6 4 5 4 2 215 165

12 18 258 140
4 3 8 2 x =>
24 9 345 258
12 9 7 3
7 3
T3
T1
T2

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

Exercice d’application 5
Ecrire un script python qui permet de créer deux tableaux T1 de shape (n, p) et T2 de shape
(p, m) . Après le remplissage des deux tableaux T1 et T2, le script calcule et affiche le produit
matriciel de deux tableaux.

12 x 2 + 9 x 18 + 7 x 9 + 3 x 3 —> 258

3 6 4 5 4 2 215 165

12 18 258 140
4 3 8 2 x =>
24 9 345 258
12 9 7 3
7 3
T3
T1
T2

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

Calculer le produit matriciel

• La méthode dot() permet de calculer le produit matriciel de deux tableaux.


• Le produit d’une matrice de shape (n, m) par une matrice de shape (m, p)
donne une matrice de shape (n, p)

Exemple
import numpy as np
T1=[Link]([[3, 6, 4, 5],[4, 3, 8, 2], [12, 9, 7, 3]])
T2=[Link]([[4, 2],[12,18], [24,9], [7, 3]])
T3=[Link]((T1,T2)
print(T3)
4 2 215 165
3 6 4 5
12 18
4 3 8 2 x => 258 140
12 9 7 3 24 9
7 3 345 258
T1
T2 T3

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

Exercice d’application 6
Ecrire un script python qui permet de créer un tableau T de shape (n, n). Après le remplissage
du tableau T par n x n valeurs aléatoires de type int, le script calcule et affiche son
déterminant D.

Exemple

3 6 4
3 8 4 8 4 3
T 4 3 8 => 3x - 6x - 4x
9 7 12 7 12 9
12 9 7

D = 3 x ( 3 x 7 - 8 x 9) - 6 x ( 4 x 7 - 12 x 8 ) - 4 x ( 4 x 9 - 12 x 3 )
D = 254.99999999999991

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

Calculer le déterminant d’une matrice

• La méthode det(…) du module [Link] permet de calculer le


déterminant d’un tableau.

Exemple
import numpy as np
T=[Link]([[3, 6, 4],[4, 3, 8], [12, 9, 7]])
D=[Link](T)
print(D)
3 6 4
T 4 3 8 => Det (T) = 254.99999999999991
12 9 7

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 5 : les tableaux

Exercices : Série N5

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 6 : Gestion des graphiques avec la


bibliothèque Matplotlib

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 6 : la bibliothèque Matplotlib

Définition

- Matplotlib est une bibliothèque Python open source, initialement développée


par le neurobiologiste John Hunter en 2002 afin de visualiser les signaux
électriques du cerveau de personnes épileptiques. Son but était de répliquer les
fonctionnalités de création graphique de MATLAB avec Python.
- Matplotlib permet de créer des tracés, des histogrammes, des diagrammes à
barre et tous types de graphiques à l’aide de quelques lignes de code. Il s’agit d’un
outil très complet, permettant de générer des visualisations de données très
détaillées.
- Objectifs d’utilisation des graphiques :
✓ Mieux comprendre le problème à étudier
✓ Mieux expliquer un phénomène

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 6 : la bibliothèque Matplotlib

Exemples de graphiques

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 6 : la bibliothèque Matplotlib

Méthodes de création des graphiques


Il existe en fait deux méthodes pour la création des graphiques en python :
• Méthode 1 : la méthode plot()
• Méthode 2 : la méthode subplots()

Méthode 1
Résultat affiché

Méthode 2

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 6 : la bibliothèque Matplotlib

La méthode plot ()

plot ( X, Y, label= ‘…’, lw=…, ls = ‘…’, c=‘…’)

Valeurs de l’axe Nom de la Style du


des abscisses courbe trait
Epaisseur Couleur du
du trait trait
Valeurs de l’axe
des ordonnées

Exemple Résultat affiché


import numpy as np
import [Link] as plt
x=[Link](0,2, 10)
[Link](x,x**2, c='red', lw=5, ls='--')
[Link]()

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 6 : la bibliothèque Matplotlib

Autres méthodes de gestion des graphiques

- figure ( figsize=(dimension1, dimension 2)) : créer la fenêtre de travail


- title (‘titre du graphique’) : afficher le titre du graphique
- xlabel (‘nom de l’axe des abscisses’) : afficher le nom de l’axe des abscisses
- ylabel (‘nom de l’axe des ordonnées ‘) : afficher le nom de l’axe des
ordonnées
- legend () : afficher la légende du graphique
- savefig (‘nom de la figure’) : enregistrer la figure

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 6 : la bibliothèque Matplotlib

Autres méthodes de gestion des graphiques


Exemple

Résultat affiché

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 6 : la bibliothèque Matplotlib

Afficher plusieurs graphiques sur la même figure

subplot ( nombre de lignes, nombre de colonnes, position)

subplot (2, 3, 1) subplot (2, 3, 2) subplot (2, 3, 3)

subplot (2, 3, 4) subplot (2, 3, 5) subplot (2, 3, 6)

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 6 : la bibliothèque Matplotlib

Afficher plusieurs graphiques sur la même figure


Exemple

Résultat affiché

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 6 : la bibliothèque Matplotlib

Exercice 1
1) Afficher la courbe repr sentative entre [−4, 4] de la fonction f : x → cos(x) + 3 sin(2x)
2) Afficher la courbe repr sentative entre [−10, 10] de la fonction f : x → e−x2
3) Sur un meme graphique, afficher la courbe repr sentative entre [−10, 10] des deux fonctions :
f : x —> sin(x) et g : x —> x

Exercice 2
On considère le dictionnaire suivant :

dataset={ f"Expression {i}" : [Link](100) for i in range(4)}


• Définir une fonction graphique (dataset) qui permet d’afficher les éléments de ce dictionnaire sur
une même figure.
NB :

La figure doit contenir 4 zones (chaque zone sera consacrée à un élément de dictionnaire dataset.

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger





Module : Programmation avancée avec python

Chapitre 6 : la bibliothèque Matplotlib

Résultat à afficher

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 6 : la bibliothèque Matplotlib

Solution

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 6 : la bibliothèque Matplotlib

Autres types de graphiques

Cas de classification

Email

Spam Non Spam

Classification des images Detection des spams

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 6 : la bibliothèque Matplotlib

Autres types de graphiques

Méthode scatter ()

scatter ( X, Y, label= ‘…’, s=…, c=‘…’, marker = ‘…’, edgecolor=‘…’ )

Valeurs de l’axe Nom de la Couleur du


des abscisses courbe point
Type de symbole Couleur du
(o, x, *, >, <, etc.) conteur de
Taille du symbole
Valeurs de l’axe
symbole au
des ordonnées
carré

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 6 : la bibliothèque Matplotlib

Exemple de classification de la plante iris


• Le dataset se compose de 150 exemples
• Chaque plante est caractérisé par les attributs suivantes :
- Longueur de sépales
- Largeur de sépales
- Longueur de pétales
- Largeur de pétales
• Les plantes appartient à trois classes différentes : setosa, versicolor et virginica

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 6 : la bibliothèque Matplotlib

Cas de classification de la plante iris

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 6 : la bibliothèque Matplotlib

Cas de classification de la plante iris

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 6 : la bibliothèque Matplotlib

Représentation graphique 3D

Exemple 1 : classification de la plante iris

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 6 : la bibliothèque Matplotlib

Représentation graphique 3D

Exemple 2

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 6 : la bibliothèque Matplotlib

Représentation graphique : les histogrammes


• C’est une représentation graphique permettant de représenter la répartition d’une grande
quantité de données quantitatives.
• Il est constitué de rectangles dont les aires sont proportionnelles aux effectifs de chaque classe.
• Les histogrammes est un outil visuel qui sert à identifier certaines anomalies, savoir la nature
de la distribution des données ( normale, anormale, symétrique ou asymétrique)

Exemple de classification de la plante iris

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 6 : la bibliothèque Matplotlib

Représentation graphique : les histogrammes

Exemple de classification de la plante iris

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 6 : la bibliothèque Matplotlib

Affichage et analyse des images


Exemple

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 6 : la bibliothèque Matplotlib

Affichage et analyse des images


Exemple

Résultat affiché

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 7 : Analyse de données avec la


bibliothèque Pandas

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 7 : la bibliothèque Pandas

Définition

• Pandas est une bibliothèque très puissante et très utilisée pour la


manipulation des données avec python.
• Il permet de charger, nettoyer, observer, analyser et fusionner
les données.
• Le nom « Pandas » est en fait la contraction du terme « Panel Data »
désignant les ensembles de données incluant des observations sur de
multiples périodes temporelles.
• Pandas utilise une structure de données spéciale appelé DataFrame.

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 7 : la bibliothèque Pandas

Définition

• Le DataFrame est une structure de données bi-dimensionnelle où les


données sont représentées de façon tabulaire en lignes et en colonnes.
- Les colonnes d’un DataFrame peuvent être de types différents
- La taille d’un DataFrame est mutable
- Les axes d’un DataFrame sont étiquetés
- C’est possible d’effectuer des opérations arithmétiques sur les lignes et les
colonnes.

Etiquettes des colonnes

Etiquettes des lignes Valeurs des données

Structure d’un DataFrame

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 7 : la bibliothèque Pandas

Création d’un DataFrame


• Les DataFrames peuvent être crées à partir des listes, des dictionnaires, ou des tableaux
numpy en utilisant la méthode DataFrame() de la bibliothèque pandas.

Syntaxe générale

DataFrame ( Data, columns =[…] , index=[…] )

Liste, tableau, Etiquettes des Etiquettes


dictionnaire colonnes des lignes

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 7 : la bibliothèque Pandas

Création d’un DataFrame


• Les DataFrame peuvent être crées à partir des listes, des dictionnaires, des séries ou des
tableaux numpy en utilisant la méthode DataFrame() de la bibliothèque pandas.

Exemple 0 1

import pandas as pd 0 12 14
import numpy as np data_1 1 10 13
# créer un DataFrame vide 2 11 15
data_vide=[Link]()
print(data_vide) Mois Temp
# créer un DataFrame à partir d'un tableau
Jour 1 Jan 14
T=[Link]([[12, 14],[10, 13],[11, 15]])
Jour 2 Fev 17
data_1=[Link](T)
Jour 3 Mars 21
print(data_1)
Jour 4 Avr 22
# créer un DataFrame à partir d'une liste de listes
L=[[‘Jan’, 14],['Fev', 17],['Mars', 21],['Avr', 22]] data_2
data_2=[Link](L, columns=['Mois','Temp'], index=['Jour1','Jour2','Jour3','Jour4'])
CNE Age
print(data_2)
Etu1 C1 20
# créer un DataFrame à partir d'un dictionnaire
D={‘CNE':['C1','C2','C3','C4'],'Age':[20, 22, 23, 18]} Etu2 C2 22

data_3=[Link](D, index=['Etu1','Etu2','Etu3','Etu4']) Etu3 C3 23

print(data_3) Etu4 C4 18

data_3

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 7 : la bibliothèque Pandas

Importer des données


• Plusieurs méthodes sont disponibles dans la bibliothèques Pandas.
• Téléchargement de la bibliothèque pandas
import pandas as pd ou from pandas import * ou import pandas.
• Lecture des fichiers
nom_dataframe=read_type_fichier(chemin_fichier)
Ex : read_excel(), read_csv(), read_json(), read_html(), read_sql, etc.
● chemin_fichier : une variable de type str ou une chaine de caractères constante qui
représente le chemin absolu ou relatif du fichier à importer.
● nom_dataframe : le fichier importé sera stocké dans une structure de données particulière
de type DataFrame.

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 7 : la bibliothèque Pandas

Méthodes appliquées sur le DataFrame

• head(n) : afficher n premières lignes du DataFrame, la valeur par défaut = 5.


• tail(n) : afficher n dernières lignes du DataFrame, la valeur par défaut = 5.
• describe() : calculer et afficher des statistiques rapides (nombre des éléments,
moyenne, minimum, maximum, variance, écart type, etc.)
• shape : afficher le nombre de lignes et le nombre de colonnes du DataFrame.
• columns : afficher les noms des colonnes
• info() : afficher des informations sur le DataFrame (nombre de lignes, noms et types
des colonnes, mémoire consommée, etc.)

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 7 : la bibliothèque Pandas

Méthodes appliquées sur le DataFrame

Exemple

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 7 : la bibliothèque Pandas

Méthodes appliquées sur le DataFrame


Résultat d’exécution

Nombre des lignes


et des colonnes

Etiquettes des colonnes

Six premières lignes


de DataFrame

Trois dernières lignes


de DataFrame

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 7 : la bibliothèque Pandas

Méthodes appliquées sur le DataFrame


Résultat d’exécution (suite)

Type de la structure importée


DataFrame

Nombre des observations


150

Informations sur les colonnes


Indice, Nom, type, valeurs non nulles,
memoire allouée

Statistiques
Nombre des éléments, moyenne,
variance, valeur minimale,
valeur maximale

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 7 : la bibliothèque Pandas

Supprimer des colonnes ou des lignes à partir d’un DataFrame

• Pour supprimer des colonnes ou des lignes à partir d’un DataFrame, on utilise la
méthode :
drop([liste_elements], axis = … , inplace = … )
Avec :
- liste_elements : il peut être les étiquettes des colonnes ou des lignes à supprimer
- axis : un argument qui spécifie l’element à supprimer : ligne ou colonne
✴ axis=0 : supprimer des lignes
✴ axis=1 : supprimer des colonnes
- inplace : un argument qui permet de specifier si les changements seront effectués sur le
DataFrame original ou bien sur sa copie.
✴ Inplace = True : les changements seront appliqués sur le DataFrame original
✴ Inplace = False : les changements seront appliqués sur une copie du DataFrame original

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 7 : la bibliothèque Pandas

Supprimer des colonnes ou des lignes à partir d’un DataFrame

Exemple

Résultat d’exécution

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 7 : la bibliothèque Pandas

Gestion des valeurs manquantes d'un DataFrame

Afin de gérer les valeurs manquantes d’un DataFrame, deux techniques sont utilisées :
Technique 1
• Supprimer les lignes contenant des valeurs manquantes par utilisation de la
méthode :
dropna(axis=0, inplace=True)
Technique 2
• Compléter la valeur manquante par une valeur par défaut (moyenne, médiane,
mode) en utilisant la méthode :
fillna(nom_data[‘nom_colonne’].mean(), inplace=True)

• Remplacer toutes les valeurs manquantes par la même valeur :


fillna(valeur_par_défaut, inplace=True)

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 7 : la bibliothèque Pandas

Gestion des valeurs manquantes d'un DataFrame

Exemple 1

Résultat d’exécution

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 7 : la bibliothèque Pandas

Gestion des valeurs manquantes d'un DataFrame

Exemple 2

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 7 : la bibliothèque Pandas

Gestion des valeurs manquantes d'un DataFrame

Résultat d’exécution de l’exemple 2

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 7 : la bibliothèque Pandas

Analyse de dataset de Titanic

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 7 : la bibliothèque Pandas

Analyse de dataset de Titanic

L'objectif de cette étude consiste à analyser le jeu de données du Titanic.


1) Importer le dataset « [Link] »
2) Afficher les informations suivantes sur le dataset : shape, étiquettes des colonnes, les 10 premières lignes,
les dix dernières lignes.
3) Eliminer les colonnes : name, sibsp, parch, ticket, fare, cabin, embarked, boat, body et [Link]
4) Afficher les statistiques, qu’observez vous ?
5) Choisir la méthode appropriée pour traiter des données manquantes.
6) Compter combien des passagers ont survécu par classe
7) Représenter graphiquement la variation de l’age des passagers
8) Calculer la moyenne des attributs « age » et « survived » par sexe et classe

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 7 : la bibliothèque Pandas

Analyse de dataset de Titanic - Solution

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 8 : Application des algorithmes de


Machine Learning

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 8 : Algorithmes de Machine Learning

C’est quoi le Machine Learning ?

Définition proposée par son inventeur Arthur Samuel, un


mathématicien américain qui a développé un programme pouvant
apprendre tout seul comment jouer aux Dames en 1959.

Objectif général : Développer un modèle mathématique à partir de données

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 8 : Algorithmes de Machine Learning

Types des algorithmes de ML

Apprentissage Apprentissage Apprentissage Apprentissage


Supervisé non Supervisé semi Supervisé par
Renforcement

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 8 : Algorithmes de Machine Learning

Apprentissage supervisé
▪ Trouver un modèle qui relie les variables d’entrée (Variables à expliquer) avec les variables de
sortie (Variables explicatives) à partir des exemples
▪ La classe des données d'entraînement est connue
▪ Toutes les données sont étiquetées
▪ L’objectif de l’apprentissage supervisé est prédictif ou informatif

Comprendre la relation entre les Faire une prédiction pour un nouvel


entrées et les sorties échantillon décrit par ses attributs

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 8 : Algorithmes de Machine Learning

Fonctionnement de l’apprentissage supervisé

Données Extraction Modèle de Prédiction ou


d’apprentissage des caractéristiques Machine Learning Classification

1 2 3

Algorithme
D’optimisation des 5
coefficients

Valeur Valeur
Réelle Prédite
4

Comparaison valeur
Réelle - Prédite

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 8 : Algorithmes de Machine Learning

Types des problèmes traités par l’apprentissage supervisé

Problème de Classification Problème de Régression


▪ Prédire la valeur d’une variable discrète ▪ Prédire la valeur d’une variable continue

Ex :
Prédire si un email est un spam ( = 1)
Ex :
Prédire le prix d’un appartement ( )
ou non ( = 0) selon le nombre de liens
selon sa surface habitable ( )
présent dans l’email ( )

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


𝑐
𝑙
𝑎
𝑠
𝑠
𝑒
𝑦
𝑥
𝑥
𝑐
𝑙
𝑎
𝑦
𝑠
𝑠
𝑒
𝑦
Module : Programmation avancée avec python

Chapitre 8 : Algorithmes de Machine Learning

Développement d’un modèle d’apprentissage supervisé

• Afin de créer un modèle d’apprentissage, on peut utiliser les méthodes de la


bibliothèque Scikitlearn de python.
• La bibliothèque Scikitlearn est une bibliothèque dédiée à l’apprentissage
automatique. Elle contient plusieurs modèles déjà développés à savoir :
- Regression lineaire
- Regression logistique
- Support vecteur machine
- Naives bayes
- Random forest
- Les arbres de décision
- KNN
- Etc.

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 8 : Algorithmes de Machine Learning

Développement d’un modèle d’apprentissage supervisé

Etape 1 : sélectionner un estimateur et ses hyperparamètres

Modele =nom_modele (………)

Objet Constructeur Hyperparamètres

{
KNeighborsClassifier
DecisionTreeClassifier
nom_modele GaussianNB
SVC
Etc.

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 8 : Algorithmes de Machine Learning

Développement d’un modèle d’apprentissage supervisé

Modèles possibles

Neural Network

RandomForest

LinearRegression
KNN

DecisionTree SVM

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 8 : Algorithmes de Machine Learning

Développement d’un modèle d’apprentissage supervisé

Etape 2 : entrainer le modèle sur des données X et y

[Link] (X, y)

Objet Un tableau numpy Un tableau numpy de 1 dim

X : tableau des exemples (n_samples)


y : tableau des classes (n_features)

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 8 : Algorithmes de Machine Learning

Développement d’un modèle d’apprentissage supervisé

Etape 3 : évaluer le modèle en calculant de coefficient de determination

[Link] (X, y)

Objet Un tableau numpy Un tableau numpy de 1 dim

Coefficient de détermination :
- proche de 1 : modèle performant
- Proche de 0 : modèle moins performant

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 8 : Algorithmes de Machine Learning

Développement d’un modèle d’apprentissage supervisé

Etape 4 : utiliser le modèle pour faire de nouvelles prédictions

[Link](X)

Objet Nouvelles entrées pour le modèle

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 8 : Algorithmes de Machine Learning

Exemple

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 8 : Algorithmes de Machine Learning

Exemple

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 8 : Algorithmes de Machine Learning

Exemple

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Programmation avancée avec python

Chapitre 8 : Algorithmes de Machine Learning

Analyse de dataset de Titanic

L'objectif de cette étude consiste à analyser le jeu de données du Titanic afin de créer un modèle de
prédiction de la survie des passagers en fonction de leur âge, de leur sexe et de la classe de voyage
sélectionnée.
1) Importer le dataset « [Link] »
2) Eliminer les colonnes : name, sibsp, parch, ticket, fare, cabin, embarked, boat, body et [Link]
3) Choisir la méthode appropriée pour traiter des données manquantes.
4) Pour la colonne sex, remplacer la valeur male par 0 et female par 1
5) Appliquer les modèles de base de Machine Learning pour prédire la survie des passagers en fonction de leur
age, leur sexe et la classe de voyage choisie
6) Décrire les résultats obtenus

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger

Vous aimerez peut-être aussi