23/01/2026
1. INTRODUCTION
Université Moulay Ismail
Faculté des sciences de Meknès
Département d’Informatique
La programmation est l’art de commander à un
ordinateur de faire ce qu’on souhaite.
Algorithmes et structures de
données avec Python
Python compte parmi les langages de
programmation qui offre cette possibilité.
Prof : [Link]@[Link]
AU : 2025-2026
1 2
23/01/2026
2. CARACTÉRISTIQUES DU LANGAGE
Python est un langage de programmation :
Portable. INSTALLER
Libre. ANACONDA
Gratuit.
Lancer Anaconda
• Python permet une approche modulaire et
orientée objet de la programmation.
3 4
3 4
23/01/2026
ANACONDA
Spyder
scripts .py
débogage visuel
Anaconda est une plateforme logicielle libre variables affichées en temps réel
comprenant l’environnement Python complet et de
très nombreuses librairies et package scientifiques Jupyter Notebook / JupyterLab
(numpy, Pandas, Matplotlib, etc.). apprentissage
data science
Démontration pédagogique
Cette plateforme est appliquée au développement
d’apprentissage sous différent systèmes
d’exploitation telle que Unix et Windows. VS Code
IDE moderne et puissant
Très utilisé en industrie
Fonctionne parfaitement avec Python Anaconda
5 6
5 6
23/01/2026
Conseil: ON PEUT UTILISER SPYDER COMME IDE.
POUR LES DÉBUTANTS [Link]
Spyder
Pour les expérimentés/Projets
VS Code ou JupyterLab
7 8
7 8
23/01/2026
LANCER ANACONDA UTILISATION DE PYTHON
Pour utiliser Python, on fait appel à l’un des
Environnements de travail (Spyder, Jupyter, etc.)
Spyder : Environement de développement scientifique
2
Lancer Spyder
1 9 10
9 10
23/01/2026
LANCER SPYDER SPYDER : ENVIRONEMENT DE DÉVELOPPEMENT
SCIENTIFIQUE INTEGRÉ
(1) (2)
11 12
11 12
23/01/2026
3. MODE D’UTILISATION DE PYTHON
TÉLÉCHARGEMENT DE
L’ANACONDA
Python peut être utilisé en deux modes:
a. Mode interactif, i.e., dialoguer avec Python
directement en utilisant l’invite de commande.
(sans sauvegarde au préalable dans un fichier).
b. Mode script: écrire un programme (code) et
le sauvegarder sur disque puis l’interpreter.
(Mode recommandé).
13
13 14
23/01/2026
SPYDER : ENVIRONEMENT DE DÉVELOPPEMENT A. MODE INTERACTIF
SCIENTIFIQUE
L'interpréteur interactif permet d'écrire et d'éxécuter
les instructions du code, une par une, avec un résultat
immédiatre et des tests rapides.
Editeur de fichier
Interpréteur interactif
15 16
15 16
23/01/2026
EXEMPLES DE CALCUL A. MODE SCRIPT
L'interpréteur script consiste à écrire un programme
complet dans un fichier, puis à l’exécuter.
17 18
17 18
23/01/2026
4. NOMS DE VARIABLES 5. OPÉRATIONS DE BASE
Les noms de variables doivent respecter quelques règles
simples :
Un nom de variable est une séquence de lettres
1. Affectation
(a → z , A → Z) et de chiffres (0 → 9).
Un nom de variable doit commencer par une lettre. 2. Entrée des données
Le caractère “_“ est autorisé.
3. Sortie des résultats
Les lettres accentuées, les cédilles, les espaces, les
caractères spéciaux tels que $, #, @, etc. sont interdits.
La casse est significative (les caractères majuscules et
minuscules sont distingués).
19 20
19 20
23/01/2026
5. OPÉRATIONS DE BASE 5. EFFACER L’ÉCRAN
1. Affectation clear
Syntaxe :
Nom de variable = expression
Exemples:
17
clear 22
21 22
23/01/2026
5. OPÉRATIONS DE BASE 5. OPÉRATIONS DE BASE
2. Entrée des données 2. Entrée des données: chaine de caractères
Exemple1
La fonction input()
L’utilisateur est invité à entrer des caractères au clavier
et à terminer avec <Enter>.
Le résultat de cette fonction est de type “chaine de
caractères”.
Syntaxe: Affiche le résultat
nom_variable = input()
nom_variable = input("Msg … : ")
Taper le nom de la variable
23 24
23 24
23/01/2026
5. OPÉRATIONS DE BASE 5. OPÉRATIONS DE BASE
2. Entrée des données : entier/réel 2. Entrée des données : entier/réel
Exemple2 Exemple3
Lire un 1er entier.
Lire un 2ème entier.
Calculer la somme(nb, nb2)
Calculer la multiplication (nb,nb2)
Afficher le résultat
25 26
25 26
23/01/2026
5. OPÉRATIONS DE BASE 5. OPÉRATIONS DE BASE
Afficher le résultat
Les fonctions : int & float
Nécessite une conversion de type
Chaine entier/réel
27 28
27 28
23/01/2026
B. MODE SCRIPT B. MODE SCRIPT
SPYDER : Environement de développement scientifique
Pour garder le code écrit et l’exécuter à chaque fois, il Exécution totale
est nécessaire d’utiliser le concept de script. Exécution partielle Répertoire courant
1. Ecrire le code en utilisant un éditeur de texte
2. Exécuter le code.
3. Obtenir les résultats
Editeur de fichier
L’extension d’un fichier de code Python est « .py »
26
29
29 30
23/01/2026
5. OPÉRATIONS DE BASE EXERCICES:
3. Sortie des résultats (Affichage de message)
Syntaxe 1. Assignez les valeurs respectives 30, 60, 90 à trois
print(“msg”) variables x, y, z.
print(“msg”) 2. Effectuez l’opération (x * y )/z.
print (“msg”, variable) 3. Lisez votre nom & prénom.
4. Affichez votre nom & Prénom
31 32
31 32
23/01/2026
6. LES INSTRUCTIONS DE CONTRÔLE
6. LES INSTRUCTIONS DE CONTRÔLE
INDENTATION GÉNÉRALE
Bloc 1
a) Instructions conditionnelles Ligne d’en-tête:
Bloc 2
b) Instructions répétitives Ligne d’en-tête:
Bloc 3
…
Bloc 2 (suite)
…
Bloc 1 (suite)
…
33 34
33 34
23/01/2026
6. LES INSTRUCTIONS DE CONTRÔLE 6. LES INSTRUCTIONS DE CONTRÔLE
a. Les instructions conditionnelles a. Les instructions conditionnelles
Syntaxe Syntaxe
if condition: if condition:
Bloc d’instructions Block d’instructions1
else:
Exemple : Block d’instructions2
Exemple :
if x > 0: if (a > 0):
print(" Nombre positif")
print (" Nombre Positif " ) else:
print(" Nombre négatif ")
35 36
35 36
23/01/2026
6. LES INSTRUCTIONS DE CONTRÔLE 6. LES INSTRUCTIONS DE CONTRÔLE
a. Les instructions conditionnelles a. Les instructions conditionnelles
Syntaxe Exemple : afficher le signe d’un entier (positif/négatif/null).
if condition:
Block d’instructions1
x=input(" Donnez la valeur de x: ")
elif condition2: if int(x) > 0:
Block d’instructions2 print (" Le nombre est positif ")
else: elif int(x)<0:
Block d’instructions3 print (" Le nombre est négatif ")
else:
print (" Nombre est nul ")
37 38
37 38
23/01/2026
6. LES INSTRUCTIONS DE CONTRÔLE
EXERCICE
a. Les instructions conditionnelles
Ecrire un script qui permet de saisir un
Opérateurs de comparaison
nombre puis déterminer s’il est pair ou
Signification Symbole Symbole Python
impair
Mathématique
Inférieur < <
Supérieur > >
Inférieur ou égal ≤ <=
Supérieur ou égal ≥ >=
Egal = ==
Différent ≠ !=
Reste de la division %
39 40
39 40
23/01/2026
CORRIGÉ CORRIGÉ
b1= int(input(" Entrez la borne inférieure [b1: "))
b2= int(input(" Entrez la borne supérieure b2]: "))
nbre=input(" Entrez un entier : ")
valeur= int(input(" Entrez la valeur à vérifier: "))
if int(nbre)%2 == 0:
print (" Le nombre est pair ")
else: if b1<=valeur<=b2:
print (" Le nombre est impair ") print (valeur, " appartenant à l'intervalle donné ")
else:
print (valeur, ",n'appartenant pas à l'intervalle donné ")
41 42
41 42
23/01/2026
6. LES INSTRUCTIONS DE CONTRÔLE 6. LES INSTRUCTIONS DE CONTRÔLE
b. Les instructions répétitives b. Les instructions répétitives
Le concept boucle permet de répéter
L’instruction while
une certaine opération autant de fois que
nécessaire.
Syntaxe :
while condition:
while
Bloc d’instructions
for
43 44
43 44
23/01/2026
6. LES INSTRUCTIONS DE CONTRÔLE 6. LES INSTRUCTIONS DE CONTRÔLE
b. Les instructions répétitives
Exemple:
b. Les instructions répétitives
Afficher les 10 premiers entiers.
Exemple:
print(" Affichage des 10 premiers entiers ") Création de la table de multiplication d’un entier.
i = 1 # variable compteur utilisée par la boucle
while i <= 10: nb1= input("Donnez un entier : ")
print(i) nb2= int(nb1)
i += 1 # Incrémenter i de 1 (i=i+1) print(" Création de la table de multiplication de: " ,nb1)
print( " Fin traitement…") i = 1 # variable compteur utilisée par la boucle
while i <= 10:
print(i, "*", nb2, "=", (i * nb2))
i += 1 # Incrémenter i de 1 (i=i+1)
print( " Fin traitement…")
Résultat
45 46
45 46
23/01/2026
6. LES INSTRUCTIONS DE CONTRÔLE 6. LES INSTRUCTIONS DE CONTRÔLE
b. Les instructions répétitives b. Les instructions répétitives
L’instruction for L’instruction for
Syntaxe:
Exemple
for Compteur in sequence: depart = "Département Génie Informatique"
Bloc d’instructions
for lettre in depart:
«Compteur » est une variable créé par « for ». print(lettre)
Elle n’est pas instancier par le programmeur. Elle prend
successivement chacune des valeurs figurant dans la séquence print(" Fin traitement…")
parcourue.
47 48
47 48
23/01/2026
6. LES INSTRUCTIONS DE CONTRÔLE 6. LES INSTRUCTIONS DE CONTRÔLE
b. Les instructions répétitives
b. Les instructions répétitives L’instruction range() : génère une liste de nombres.
Résultat
Syntaxe :
range([debut], arrêt [, pas])
Exemple
# Un seul paramètre
for i in range(5): Résultat = 0 1 2 3 4
print(i)
# Deux paramètres
for i in range(3, 6): Résultat = 3 4 5
print(i)
# Trois paramètres
for i in range(4, 10, 2): Résultat = 4 6 8
print(i)
46
49
49 50
23/01/2026
EXERCICE CORRIGÉ
Afficher les 10 premiers chiffres.
liste = 10
for chiffre in range(liste):
print(chiffre)
Print(" Fin traitement…")
51 52
51 52
23/01/2026
EXERCICE CORRIGÉ
Écrire un programme qui affiche les 10 premiers
multiples de 8
for i in range(10):
print(" "+str(i)+"*8 = "+str(i*8))
53 54
53 54
23/01/2026
EXERCICE 7. IMPORTATION DES LIBRAIRIES
Calculer la racine carré d’un entier avec la fonction sqrt().
Python offre de très nombreuses librairies de fonctions
pré-définies pour réaliser des tâches.
L’importation de la librairie se fait à travers l’instruction
import nom_librairie
Pour importer une fonction précise de la librairie
from nom_librairie import nom_fonction
Importer les librairies
55 56
55 56
23/01/2026
CORRIGÉ 7. IMPORTATION DES LIBRAIRIES
Quelques fonctions de la librairie math
Python mathématique
[Link] π
[Link](n) n!
[Link](x) |x|
[Link](x) ex
Résultat [Link](x) Ln(x)
math.log10(x) Log10(x)
[Link](x) √x
[Link](x) cos(x)
[Link](x) sin(x)
57 58
57 58
23/01/2026
CORRIGÉ
EXERCICE
import math
nb= int(input("Donnez un entier : "))
fact= [Link](nb)
print("Factoriel =",fact)
1. Calculer le factoriel de x
2. Calculer l’exponentiel de x Résultat
59 60
59 60
23/01/2026
7. IMPORTANTES DES LIBRAIRIES 7. IMPORTATION DES LIBRAIRIES
NumPy
permet d’effectuer des calculs numériques avec Scikit-learn
Python. Elle introduit une gestion facilitée des tableaux destinée à l'apprentissage automatique.
de nombres. Elle comporte divers algorithmes tels que machine à
import numpy as np vecteurs de support, k-voisins, RNA, Kmeans,…
from sklearn import…
Matplotlib
destinée à tracer et visualiser des données sous
formes de graphiques.
from matplotlib import pyplot
61 62
61 62
23/01/2026
8. DÉFINITION DES FONCTIONS 8. DÉFINITION DES FONCTIONS
Fonction sans paramètres
Entrée Fonction Sortie
Une fonction transforme généralement une entrée en sortie
def nom_fonction(liste de paramètres):
…
bloc d'instructions de la fonction
…
63 64
63 64
23/01/2026
8. DÉFINITION DES FONCTIONS RÉSULTAT
Fonction avec paramètres
65
65 66
23/01/2026
8. DÉFINITION DES FONCTIONS 8. DÉFINITION DES FONCTIONS
Fonction avec retour de résultat Exemple
Une ≪ vraie ≫ fonction (au sens strict) doit renvoyer
def nom_fonction(liste de paramètres):
un résultat à la fin de ses traitements.
…
La dernière ligne de la définition de la fonction bloc d'instructions
doit être l’instruction return (return : définit ce que doit …
être la valeur renvoyée par la fonction).
return
Syntaxe :
Syntaxe de l’appel de la fonction:
return resultat
# « resultat » peut être une variable ou une expression Variable_result = nom_fonction(liste_parametres)
67 68
67 68
23/01/2026
8. DÉFINITION DES FONCTIONS 8. DÉFINITION DES FONCTIONS
Exemple
La fonction s’exécute jusqu’à l’instruction return, laquelle
met fin à son exécution et précise la valeur de sortie
retournée par la fonction.
Une fois, la fonction créée, il est possible de
l’exécuter une infinité de fois.
69 70
69 70
23/01/2026
LES LISTE ET LES TUPLES LES LISTE ET LES TUPLES
Définition d’une liste
• Les structures de données permettent d’organiser et de
stocker l’information. Une liste est une collection ordonnée et modifiable.
• En Python, les listes et les tuples sont parmi les plus utilisées. Elle peut contenir des éléments de types différents.
• Elles permettent de regrouper plusieurs valeurs dans une Les listes sont définies à l’aide de crochets [].
seule variable.
Exemple :
notes = [12, 15, 10, 18]
71 72
23/01/2026
LES LISTE ET LES TUPLES LES LISTE ET LES TUPLES
Accès et parcours d’une liste
Les éléments sont accessibles par leur indice (à partir de 0). Opérations sur les listes
Les listes peuvent être parcourues avec une boucle for. Ajouter un élément : append()
Supprimer un élément : remove() ou pop()
Modifier un élément par son indice
Exemple :
print(notes[0]) Exemple :
for n in notes: [Link](14)
print(n) notes[1] = 16
73 74
23/01/2026
LES LISTE ET LES TUPLES LES LISTE ET LES TUPLES
Définition d’un tuple
Cas d’utilisation des listes
Un tuple est une collection ordonnée et non modifiable.
Stockage de données évolutives Il est défini à l’aide de parenthèses ().
Manipulation de séries de valeurs
Traitement de données (notes, résultats, classement, etc.) Exemple :
etudiant = ("Ali", 20, "Informatique")
75 76
23/01/2026
LES LISTE ET LES TUPLES LES LISTE ET LES TUPLES
Accès et parcours d’un tuple Pourquoi utiliser les tuples ?
Accès aux éléments par indice Garantir l’immuabilité des données
Parcours possible avec une boucle for Sécuriser des informations constantes
Impossible de modifier les éléments Améliorer la lisibilité et la fiabilité du code
Exemple :
print(etudiant[1])
for info in etudiant:
print(info)
77 78
23/01/2026
LES LISTE ET LES TUPLES LES LISTE ET LES TUPLES
Les fonctions à utiliser dans les listes et les tuples Méthodes à utiliser uniquement pour les listes :
len() : renvoie le nombre d’éléments. append() : ajoute un élément à la fin.
min() : renvoie le plus petit élément insert(item) : ajoute un élément à la fin
max() : revoie le plus grand élément Insert(index,item) : insère un élément à un index spécifique
sum() : somme des éléments (pour les numériques) remove(item) : supprime la première occurrence d’un élément.
enumerate() : permet d’obtenir l’indice et la valeur lors pop() : supprime et revoie l’élément à l’index(par défaut le dernier)
du parcours Sort() : Trie la liste sur place
Reverse() : Inverse l’ordre des éléments sur place.
79 80
23/01/2026
LES LISTE ET LES TUPLES LES LISTE ET LES TUPLES
Méthodes uniquement les tuples Comparaison Listes/tuples
Index(item) : revoie l’index de la première de la première Critère Liste Tuple
occurrence d’un élément.
Modifiable oui Non
count(item) : compte le nombre d’occurrence d’un élément
Syntaxe [] ()
Usage Données dynamiques Données fixes
81 82
23/01/2026
LES LISTE ET LES TUPLES DANS UN PROGRAMME SIMPLE:
Conclusion Inclure ces données directement dans le corps du
programme, par exemple sous forme de liste.
Les listes et les tuples sont des structures fondamentales
en Python.
Ce procédé devient tout à fait inadéquat lorsque
Le choix dépend du besoin : flexibilité ou stabilité. l’on souhaite traiter une quantité d’informations plus
Une bonne maîtrise facilite l’écriture de programmes importante.
efficaces.
Solution
Manipulation des dataset
84
83 84