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

Python Complet

Le module d'Algorithmes et Programmation Python vise à enseigner les concepts fondamentaux de l'algorithmique et de la programmation en Python, en mettant l'accent sur la résolution de problèmes et la manipulation de données. Le cours couvre divers sujets, notamment les bases de la programmation, les structures de données, la programmation orientée objet, et l'utilisation d'outils comme IDLE pour exécuter des scripts Python. Les étudiants apprendront à concevoir des algorithmes et à développer des programmes informatiques efficaces.

Transféré par

ritabenatti4
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)
0 vues131 pages

Python Complet

Le module d'Algorithmes et Programmation Python vise à enseigner les concepts fondamentaux de l'algorithmique et de la programmation en Python, en mettant l'accent sur la résolution de problèmes et la manipulation de données. Le cours couvre divers sujets, notamment les bases de la programmation, les structures de données, la programmation orientée objet, et l'utilisation d'outils comme IDLE pour exécuter des scripts Python. Les étudiants apprendront à concevoir des algorithmes et à développer des programmes informatiques efficaces.

Transféré par

ritabenatti4
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

École Nationale de Commerce et de Gestion de Ta ng e r

Module : Algorithmes & Programmation python


Semestre 6

Pr. CHERRAT Loubna


[Link]@[Link]
Année universitaire: 2024/2025
Module : Algorithmes & Programmation python

Objectif du module COURS+TD+TP

Comprendre les concepts fondamentaux de l'algorithmique et de la


programmation en Python.

Apprendre à résoudre des problèmes en utilisant des algorithmes.

Acquérir une maîtrise pratique de la programmation en Python pour la


manipulation de données et la réalisation de projets informatiques.

Comprendre les principes des structures de données et leur application dans la


résolution de problèmes informatiques.

2
Module : Algorithmes & Programmation python

Plan du cours

• Généralités
• Chapitre 1 : Bases de la programmation Python - TD1
- Instructions de base : lecture/écriture/affectation
- Structure conditionnelle
- Structure itérative / boucle
- L’instruction : break
- L’instruction : continue
• Chapitre 2 : Fonctions & Modules - TD2
• Chapitre 3 : Chaines de caractères - TD3
• Chapitre 4 : Structures de données - TD4
• Les types séquentiels : listes, tuples
• Les types de correspondance : dictionnaire
• Chapitre 5 : Fichiers - TD5
• Chapitre 6 : Représentation graphique - TD6
• Chapitre 7 : Programmation orienté objet (POO ) – TD7

3
Module : Algorithmes & Programmation python

Généralités

4
Module : Algorithmes & Programmation python

Généralités

• Une description formelle d’un procédé de traitement qui permet, à


Algorithme partir d’un ensemble d’informations initiales, d’obtenir des informations
déduites;
• Un algorithme est une séquence d’actions (instructions) permettant
d’arriver, en un temps fini , à un résultat déterminé à partir d’une
situation donnée.

 La conception d’un algorithme est caractérisée par 4 étapes :

 Quelles sont les données dont on dispose?


 Comprendre la nature du problème posé.
 Quelles sont les résultats que l’on doit obtenir?
 Préciser les données fournies (L’entrée des données).

 Préciser les résultats que l’on désire obtenir ( La sortie des résultats).

 Déterminer le processus de transformation des données en résultats ( Le traitement des données).

5
Module : Algorithmes & Programmation python

Généralités

Algorithme Un algorithme peut être représenté sous forme d’un organigramme ou d’un
pseudocode.
 Exemple d’un organigramme

Début

Entrer la valeur de A et B

Faux Vrai
B=0

Calculer A/B
Afficher un
message d’erreur
 Exemple d’un pseudocode
Afficher le résultat
Algorithme Division
Variables A, B : réel
Fin
Début
Ecrire (" Entrer les deux valeurs : ")
Lire (A,B)
if (B=0)
Ecrire (" impossible de diviser par 0 ")
else
Ecrire (" le résultat est : ", A/B)
Fin
6
Module : Algorithmes & Programmation python

Généralités

Programme • Un programme est une suite d’instructions écrites dans un code bien précis
appelé langage de programmation pouvant être compilés ou
interprétés et exécutés par une machine pour donner un résultat bien
déterminé.

Types des programmes


• Systèmes d’exploitation : un ensemble des programmes qui gèrent les
ressources matérielles et logicielles. Il propose une aide au dialogue entre
l’utilisateur et l’ordinateur à travers une interface textuelle
(interpréteur de commande) ou graphique (gestionnaire de
fenêtres). Il est souvent multitâche et parfois multiutilisateur (ex: Ms-
Dos, windows, MacOs, Linux, etc.)

• Programmes d’application : ils sont dédiés à des tâches particulières, formés


d’une série de commandes contenues dans un programme source qui est transformé
pour être exécuté par l’ordinateur (ex: calculatrice, Excel, photoshop, etc.)

7
Module : Algorithmes & Programmation python

Généralités

Langage de • C’est une notation conventionnelle destinée à formuler des algorithmes


programmation afin de produire des programmes informatiques.
• Un langage de programmation est construit à partir d'une grammaire
formelle, qui inclut des symboles et des règles syntaxiques.

 Types des langages de programmation


• Langage machine : un langage proche de la machine, formé de 0 et 1, propre à chaque processeur, il n’est pas portable.

• Langage d’assemblage : un codage alphanumérique du langage machine. plus lisible que le langage machine, mais n’est
toujours pas portable. traduit en langage machine par un assembleur.

• Langage de haut niveau : compréhensible par l’être humain, portable d’une machine à une autre, traduit en langage machine
par un compilateur ou un interpréteur.

8
Module : Algorithmes & Programmation python

Généralités

Compilation C’est la traduction du code source (rédigé en utilisant un langage de


programmation) en code objet (langage binaire). Elle comprend au moins quatre phases :
- Phase d’analyse lexicale,
- Phase d’analyse syntaxique
- Phase d’analyse sémantique
- Et une phase de production de code objet

Compilateur: traduire le programme entier une fois pour toutes.

Code Code Résultat


Compilateur Exécuteur
source Objet d’exécution

Ex : Langage C Langage binaire


0 et 1

Positif : plus rapide à l’exécution


Négatif : il faut recompiler à chaque modification

9
Module : Algorithmes & Programmation python

Généralités

Interprétation
C’est l’analyse et l’exécution de chaque ligne du code source en quelques
instructions du langage machine, qui sont ensuite directement exécutées au fur et à
mesure sans la génération du code objet.

Interpréteur : traduire au fur et à mesure les instructions du programme à chaque exécution.

Code source Interpréteur Résultat d’exécution

Ex : Langage python

Positif : exécution instantanée appréciable pour les débutants.


Négatif : exécution lente par rapport à la compilation.

10
Module : Algorithmes & Programmation python

Généralités

Différence entre Interpréteur et Compilateur

Interpréteur Compilateur
• Convertit le programme en prenant une seule • Analyse l’ensemble du programme et le traduit
ligne à la fois. dans son ensemble en code machine.

• L’analyse du code source prend moins de • L’analyse du code source prend beaucoup de
temps, mais le temps d’exécution global temps, mais le temps d’exécution global est
est plus lent. comparativement plus rapide.

• Génère du code d’objet intermédiaire qui nécessite


• Aucun code d’objet intermédiaire n’est généré, la
donc davantage de mémoire.
mémoire est donc efficace.

• Continue de traduire le programme jusqu’à • Il génère le message d’erreur uniquement


ce que la première erreur soit après avoir analysé l’ensemble du programme. Par
rencontrée. Par conséquent, le débogage est conséquent, le débogage est relativement difficile.
facile.

11
Module : Algorithmes & Programmation python

Généralités

Type de
programmation Généralement, on distingue entre deux types de programmation :
Programmation procédurale et la programmation orienté objet

 Programmation procédurale
• La programmation procédurale est un paradigme de programmation qui repose sur
le concept de procédures ou fonctions.

• Dans la programmation procédurale, un programme est divisé en petites unités


autonomes appelées procédures contenant des séquences d'instructions à
exécuter. Ces procédures peuvent être appelées dans un ordre spécifique pour
accomplir une tâche plus complexe.
Exemple :
Fortran, Cobol, Pascal, C, …

12
Module : Algorithmes & Programmation python

Généralités

Type de
programmation Généralement, on distingue entre deux types de programmation :
Programmation procédurale et la programmation orienté objet

 Programmation orienté objet


• La programmation orientée objet (POO) est un paradigme de
programmation qui utilise des objets, qui sont des instances de
classes, pour organiser et structurer le code.

• Elle repose sur plusieurs concepts clés à savoir : l’encapsulation,


l’abstraction, l’héritage, le polymorphisme, etc.
Exemple :

C++, Python, Ruby, Javascript, etc.

13
Module : Algorithmes & Programmation python

Généralités
 Programmation orienté objet
Classe • Un modèle pour créer des objets. Elle définit les propriétés (attributs) et
les comportements (méthodes) communs à tous les objets créés à partir de
cette classe.

Objet
• Une instance concrète d’une classe
• Il représente une entité du monde réel et possède des caractéristiques
(attributs) et des actions (méthodes) associées à la classe à partir de laquelle
il a été créé.

Objet 1

Objet2

14
Module : Algorithmes & Programmation python

Généralités

 Programmation orienté objet

Exemple d’une classe en python Création d’un objet en python

class Etudiant
def init (self, nom, age, note): # Création d'une instance de la classe Etudiant
[Link] = nom etudiant1 = Etudiant("Ahmed", 20, 15)
[Link] = age
[Link] = note # Affichage des informations initiales
def afficher_informations(self): print ("Informations initiales de l'étudiant : ")
etudiant1.afficher_informations()
print (f "Nom: {[Link]}")
print (f "Âge: {[Link]}") # Mise à jour de la note de l'étudiant
print (f "Note: {[Link]}")
etudiant1.modifier_note(18.0)
def modifier_note(self, nouvelle_note):

[Link] = nouvelle_note

15
Module : Algorithmes & Programmation python

Généralités

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
• 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 de Python 3.0
• 2013 : versions en cours des branches 2 et 3 : v2.7.3 et v3.3.0
• 6 septembre 2022 : sortie de la dernière version stable de python : v3.7. 14

16
Module : Algorithmes & Programmation python

Généralités

Présentation du langage python

Langage simple • Syntaxe claire et cohérente


• Gestion automatique de la mémoire
• Typage dynamique fort : pas de déclaration de type de données

Open source • Licence Open Source


• Python est libre et gratuit même pour les usages commerciaux
• Importante communauté de développeurs
• Nombreux outils standard disponibles

Langage interprété • Langage interprète rapide


• De nombreux modules sont disponibles à partir de bibliothèques optimisées
(souvent écrites en C ou C++)

Orienté objet • Modèle objet puissant mais pas obligatoire


• Structuration multifichier aisée des applications

17
Module : Algorithmes & Programmation python

Généralités

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 : Interactive Development Environment tels que :

IDLE Pyzo Pycharm

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

18
Module : Algorithmes & Programmation python

Généralités

Processus d’exécution d’un programme en python dans IDLE

[Link] IDLE.
[Link]éer un nouveau fichier avec File > New File.
3.Écrire le code Python dans la fenêtre qui apparaît.
[Link] le fichier avec l'extension .py.
[Link]écuter le script en allant dans Run > Run Module ou en appuyant sur F5.
[Link] les résultats dans la fenêtre Shell.

19
Module : Algorithmes & Programmation python

Chapitre 1 : Bases de la programmation Python

20
Module : Algorithmes & Programmation python

Chapitre 1 : instructions de base

Structure d’un programme python


• Un programme python ne possède pas une structure bien précise
• Un programme python contient plusieurs types d’instructions qui répondent au problème défini.
- Instructions d’affichage
- Instructions de lecture
- Instructions d’affectation et de calcul
- Instructions alternatives
- Instructions répétitives
- Des commentaires, …

• Pour ajouter un commentaire sur une seule ligne


# exemple de commentaire
• Pour ajouter un commentaire sur plusieurs lignes
 première ligne de commentaire
………………………
……….dernière ligne de commentaire 

21
Module : Algorithmes & Programmation python

Chapitre 1 : instructions de base

Mots résérvés au langage python


False class from or None continue
global pass. True def if raise
and del return break for not
as elif in try
assert else is while
async except lambda with
await finally nonlocal yield

Pour afficher l’aide sur un keyword ou une fonction python, il suffit de taper la commande :
>>>> help(nom du keyword ou nom de la fonction)

>>> est l’invite de commande de l’interpréteur Python (prompt en anglais)

22
Module : Algorithmes & Programmation python

Chapitre 1 : instructions de base

Définition d’une donnée

▪ C’est un emplacement mémoire dans lequel on peut mémoriser une valeur.


▪ Une donnée est caractérisée par un identificateur, une valeur, et un type.
Une
▪ donnée peut être:

- variable : s’elle change de valeurs dans un programme


- Constante : s’elle garde la même valeur tout au long du programme

23
Module : Algorithmes& Programmation python

Chapitre 1 : Instructions de base

Identificateur des données

L’identificateur est un nom choisi pour désigner une donnée,


Il doit :
• Être formé des lettres (A - Z) (a - z), des chiffres (1 - 9) et des lignes de
soulignement ( _ )
• Commencer obligatoirement par une lettre.
Il ne doit pas
• Contenir des espaces
• Être un mot réservé du langage python

 Python est sensible à la casse, ce qui signifie que les variables age, Age et AGE sont différentes.

 Exemples : i, numéroProduit, coef_a, X1, age. . .

24
Module : Algorithmes& Programmation python

Chapitre 1 : Instructions de base

Types natifs de données

• Il représente le type de l’ensemble des valeurs que peut prendre une donnée.
• En python, le typage des données est dynamique : le type d’une donnée est
déterminée selon la valeur attribuée à cette donnée
• Pour savoir le type d’une donnée, il suffit d’utiliser la fonction type :
>>>> type (nom_donnee)

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

25
Module : Algorithmes & Programmation python

Chapitre 1 : Instructions de base

Types natifs des données

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" c=‘A’

26
Module : Algorithmes & Programmation python

Chapitre 1 : instructions de base

Opérateurs arithmétiques sur les types numériques


x+y Somme de x et y

x-y Différence de x et y Opérateurs logiques


x*y Produit de x et y
and ET logique
x/y Quotient de x et y
or OU logique
x//y Quotient entier de x et y
not Négation logique
x%y reste de la division euclidienne de x et y

x**y x à la puissance y

27
Module : Algorithmes & Programmation python

Chapitre 1 : instructions de base

Opérations sur les chaînes de caractères

 Pour les chaînes de caractères, deux opérations sont possibles: l’addition et la multiplication

'Salut' + " Python" 'Salut Python'


'Salut' * 3 'SalutSalutSalut'

 L’opérateur d’addition + concatène (assemble) deux chaînes de caractères.


 L’opérateur de multiplication * entre un nombre entier et une chaîne de caractères duplique
(répète) plusieurs fois une chaîne de caractères.
 ' et " sont équivalents pour définir des chaînes de caractères.
 Python offre également des triple guillemets (''' ou """) pour les chaînes multilignes. Ces
guillemets sont utiles pour les chaînes longues ou lorsque tu veux inclure des sauts de ligne.

28
Module : Algorithmes & Programmation python

Chapitre 1 : instructions de base

Comparaison des chaînes de caractères


 C'est l'ordre alphabétique qui est utilisé dans le cas où l'on compare deux lettres majuscules ou minuscules.
 les majuscules apparaissent avant les minuscules (en termes de codes Unicode).Par conséquent, les majuscules
sont considérées comme plus petites que les minuscules.
Exemple:

• "a" < "b"  Fonctions utiles pour la comparaison des chaines de


caractères :
• ‘M’ < ‘m’
ord() : permet de connaître le code Unicode d'un caractère.
• "Maman" < "Papa"
chr() :permet de connaître le caractère correspondant à un code
• "maman" > "Papa " Unicode.
• ord('A') renvoie 65 Len(): renvoie le nombre de caractères que la chaine contient.
• ord('a') renvoie 97
• chr(65) envoie 'A‘
• len("Bonjour") renvoie 7

29
Module : Algorithmes & Programmation python

Chapitre 1 : instructions de base

Opérateurs de comparaison Opérateurs de conversion

< inférieur à Convertir x vers un


int(x)
nombre entier
<= inférieur ou égal à
> supérieur à Convertir x vers un
float (x)
nombre réel
>= supérieur ou égal à
Convertir x vers une chaine
== égal à str(x) de caractères
!= différent

 Exemples :
x = "42" x = 3.14 x = "abc"
y = int(x) y = int(x) y = int(x)
-> y va contenir 42 -> y va contenir 3 -> Cela lèvera une erreur

30
Module : Algorithmes & Programmation python

Chapitre 1 : instructions de base

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 :

En algorithmique, l'affectation se note avec le signe ←


Var← e : attribue la valeur de e à la variable Var

- e peut être une valeur, une autre variable ou une expression


- l’affectation ne modifie que ce qui est à gauche de la flèche
 En python, l'affectation se note avec le signe =

- Identificateur_variable = valeur simple


- Identificateur_variable = expression arithmétique

 Exemples : a=3
x=y
s=p*(r**2)
31
Module : Algorithmes & Programmation python

Chapitre 1 : instructions de base

Opérateurs d’affectation

• Une affectation multiple, c’est attribuer à plusieurs variables une seule valeur avec une seule
affectation.
- Identificateur_variable1=Identificateur_variable2= Valeur
• Une affectation parallèle, c’est affecter des valeurs à plusieurs variables en parallèle.
- Identificateur_variable1, Identificateur_variable2= Valeur1, Valeur 2

Exemple : NB :
Lorsque les types des deux opérandes sont différents il y a conversion
implicite vers le type de la variable résultante.
a=b=c=3
x,y,z=1,2,3

32
Module : Algorithmes & Programmation python

Chapitre 1 : instructions de base

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

Soustrait les deux valeurs op1 et op2, le résultat est stocké dans op1
op1-= op2 op1= op1 – op2

Multiplie les deux valeurs op1 et op2, le résultat est stocké dans op1
op1*= op2 op1= op1*op2

Divise les deux valeurs op1 et op2, le résultat est stocké dans op1
op1/= op2 op1= op1/op2

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

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

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

33
Module : Algorithmes & Programmation python

Chapitre 1 : instructions de base

 Essayez de prédire le résultat de chacune des instructions suivantes:

27
'DaDaDaDa'
TypeError: can only concatenate str (not "int") to str
'PaLaPaLa'
TypeError: unsupported operand type(s) for /: 'str' and 'int'
2.5
2
1
'444'

6.2
TypeError: can't multiply sequence by non-int of type 'float'

'0.750.75'

34
Module : Algorithmes & Programmation python

Chapitre 1 : instructions de base

Instruction d’écriture : print

C’est la fonction qui permet d’afficher des messages ou les valeurs des données à
l’utilisateur.
Syntaxe générale

print (identificateur_donnee) Résultat d’exécution


print (iden_donnee1, iden_donnee2, …)
print (" message ") La somme est :
21
print ( " message " , identificateur_donnee) 42
La somme est : 21
print ( f " message { identificateur_donnee } " ) La somme est : 21

Exemple
S=21
print ( " La somme est : ")
print (S) NB:
print (2*S) f : Indique que la chaîne est une f-string
print("La somme est:",S)
print ( f " La somme est : {S} ") 35
Module : Algorithmes & Programmation python

Chapitre 1 : instructions de base

Instruction d’écriture : print


Mot clé sep

 Séparateur par défaut (espace) : les éléments sont séparés par un espace par défaut.
 Le mot-clé sep en Python est utilisé dans la fonction print() pour définir un séparateur personnalisé entre
les éléments que tu veux afficher.

36
Module : Algorithmes & Programmation python

Chapitre 1 : instructions de base

Instruction de lecture des variables : input


• C’est la fonction qui permet à l’utilisateur de fournir au programme les valeurs des variables.
• 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

iden_var = input ()
***
iden_var = input ( "message ")

NB: L'argument (le texte) que tu mets entre les guillemets


dans input ("message") est le message d’invite que
l'utilisateur verra avant d'entrer sa réponse. Ce message
est facultatif, mais il peut être utile pour guider l'utilisateur
sur ce qu'il doit entrer.

37
Module : Algorithmes & Programmation python

Chapitre 1 : instructions de base

Instruction de lecture des variables : input


 Problème de l’exemple précédent:
Exemple

R=float(input (‘Choisir une valeur pour R’))

 Solution:
Résultat d’exécution

Choisir une valeur pour R 2.4

38
Module : Algorithmes & Programmation python

Chapitre 1 : instructions de contrôle

Expression logique ▪ C’est une comparaison de deux valeurs de même type en utilisant un
simple 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 en utilisant un
complexe opérateur logique.
▪ La valeur d’une expression logique complexe est de type booléen (vrai ou faux)

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

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

39
Module : Algorithmique avancée & Programmation python

Chapitre 1 : structure conditionnelle

L’instruction : if

if expression logique : Condition


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

Exemple

if X > 0 :
print ( " c’est un nombre strictement positif ")

40
Module : Algorithmes & Programmation python

Chapitre 1 : structure conditionnelle

L’instruction : if … else

if expression logique : Condition


Exemple
Instruction 1 à exécuter si
… l’expression logique if X > 0 :
Instruction n est vraie print (" c’est un nombre strictement positif")
else :
else :
print (" c’est un nombre négatif ou nul ")
Instruction 1 à exécuter si
… l’expression logique
Instruction m est fausse

NB:
Indentation: Espaces ou tabulations qui définissent quels morceaux du code appartiennent à quel bloc

41
Module : Algorithmes & Programmation python

Chapitre 1 : structure conditionnelle

L’instruction : if … elif … else


if condition1:
# Code exécuté si condition1 est vraie
elif condition2:
# Code exécuté si condition1 est fausse et condition2 est vraie
elif condition3:
# Code exécuté si les conditions précédentes sont fausses et condition3 est vraie

elif condition4:
# Code exécuté si les conditions précédentes sont fausses et condition4 est vraie
else:
# Code exécuté si aucune des conditions précédentes n'est vraie

42
Module : Algorithmes & Programmation python

Chapitre 1 : structure conditionnelle

Exemple 1

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

43
Module : Algorithmes & Programmation python

Chapitre 1 : structure conditionnelle

Exemple 2: Ecrire un script Python qui affiche si vous êtes senior, adulte, adolescent ou enfant selon
votre âge .
Avec : if elif Avec: imbrication de if else

age = int(input("Entrez votre âge : ")) age = int(input("Entrez votre âge : "))

if age >= 60: if age >= 60:


print("Vous êtes senior.") print("Vous êtes senior.")
else:
elif age >= 18: if age >= 18:
print("Vous êtes adulte.") print("Vous êtes adulte.")
else:
elif age >= 13: if age >= 13:
print("Vous êtes un adolescent.") print("Vous êtes un adolescent.")
else:
else: print("Vous êtes un enfant.")
print("Vous êtes un enfant.")
44
Module : Algorithmes & Programmation python

Chapitre 1 : structure conditionnelle

 La structure conditionnelle match … case ( Selon en algorithmique) est appelée aussi à choix multiple
ou sélective car elle sélectionne entre plusieurs choix à la fois, et non entre deux choix alternatifs (le cas de
la structure IF).
L’instruction : match … case

match Expression :

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

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

case other : (ou _ )


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

45
Module : Algorithmes & Programmation python

Chapitre 1 : structure conditionnelle

Exemple

46
Module : Algorithmes & Programmation 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 mentions affichée est : Bien
- Si 12 <= moyenne <14, la mentions affichée est Assez Bien
- Si 10 <= moyenne <12, la mentions affichée est Passable
- Si moyenne <10, l’étudiant a échoué

47
Module : Algorithmes & Programmation 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é")
48
Module : Algorithmes & Programmation python

Chapitre 1 : structure itérative

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

49
Module : Algorithmes & Programmation python

Chapitre 1 : structure itérative

Les boucles

Une boucle est un ensemble d’instructions qui se répètent un certain nombre de fois.

 On distingue 2 types de boucles en langages de programmation :


 Les boucles à compteur ou définie:

• On sait à l’avance combien de fois la boucle devra tourner et une variable (le compteur )
compte les répétitions.
Ex : la boucle Pour en algorithmique
 Les boucles à événement ou indéfinie:

• On ne sait pas à l’avance le nombre de fois que la boucle sera exécutée.


Ex : la boucle Tantque et la boucle Répéter …jusqu’a
50
Module : Algorithmes & Programmation python

Chapitre 1 : structure itérative

 Deux boucles sont utilisées en python : La boucle for et la boucle while

La boucle for
Résultat d’exécution
for compteur in liste_valeurs :
Instruction 1
x prend la valeur 1
Instruction 2 à exécuter pour
… Instruction chaque valeur du x prend la valeur 2
compteur
n x prend la valeur 3

x prend la valeur 4
Exemple x prend la valeur 5

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

51
Module : Algorithmes & Programmation python

Chapitre 1 : structure itérative

La boucle for

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"] : # le résultat d’exécution est l’affichage des valeurs B 15 3.6 Et
print (y, end = " ")

for j in range(5) : # le résultat d’exécution est l’affichage des valeurs


print (j, end = " ") 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

52
Module : Algorithmes & Programmation python

Chapitre 1 : structure itérative

La boucle for

for i in "Bonjour" : # le résultat d’exécution est l’affichage des caractères B o n j o u r


print (i, end = " ")

for k in range (1, 10, 3) :


print (k, end = " ") # le résultat d’exécution est l’affichage des valeurs 1 4 7

Remarque :
L’instruction range fournit une liste de valeurs.
Exemples :
range(6) représente la liste des valeurs : 0,1, 2, 3, 4, 5
range (1,6) représente la liste des valeurs : 1, 2, 3, 4, 5
range (1, 6,1) représente la liste des valeurs : 1, 2, 3, 4, 5
range (1,6, 2) représente la liste des valeurs : 1,3,5
range(6,5,-1) représente la valeur suivante : 6

53
Module : Algorithmes & Programmation python

Chapitre 1 : structure itérative

La boucle while

Exemple
while expression logique :

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

Résultat d’exécution

NB: En Python , on peut réaliser l'imbrication


des boucles, qui consiste à placer une boucle à
l'intérieur d'une autre boucle.

54
Module : Algorithmes & Programmation python

Chapitre 1 : structure itérative

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 :"))

55
Module : Algorithmes & Programmation python

Chapitre 1 : l’instruction break

L’instruction break

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


for). C-à-d, 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)
Résultat d’exécution
print(val) i=i+1
0
Résultat d’exécution if i >= 5:
1
B break 2
o 3
n 4

56
Module : Algorithmes & Programmation python

Chapitre 1 : l’instruction continue

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 "Bonjour": i=7
if val == "o": while i>0: Résultat d’exécution
continue i=i-1 6
print(val) if i == 5: 4
Résultat d’exécution continue 3
print(i) 2
B
1
n
j
u
r
57
Module : Algorithmes & Programmation python

Chapitre 1 : Bases de la programmation Python

Exercices : Série N°1

58
Module : Algorithmes & Programmation python

Chapitre 2 : Fonctions & Modules

59
Module : Algorithmes & Programmation python

Chapitre 2 : Fonctions

Certainsproblèmes conduisent à des programmes longs, difficiles à écrire et à comprendre. On les


découpe en des parties appelées sous-programmes.

60
Module : Algorithmes & Programmation python

Chapitre 2 : Fonctions

Lesfonctions et les procédures sont des modules (groupe d'instructions)


indépendants désignés par un nom. Elles ont plusieurs intérêts :

Permettent de "factoriser" les programmes, c.à.d. de mettre en commun les parties qui se
répètent.
Permettent une structuration et une meilleure lisibilité des programmes.

 Facilitent la maintenance du code (il suffit de modifier une seule fois).

Ces procédures et fonctions peuvent éventuellement être réutilisées dans d'autres programmes.

61
Module : Algorithmes & Programmation python

Chapitre 2 : Fonctions

Définition

- Une fonction est un bloc d’instructions regroupées sous un même nom .


- Une fonction peut avoir des paramètres/arguments
- Les paramètres servent à échanger des données entre le programme principale (ou la
fonction appelante) et la fonction appelée.
- 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 avec


def nom_fonction (liste des paramètres) :
Instruction 1
des paramètres et ayant une valeur de Instruction 2
retour … Instruction N
return (nom_variable)

62
Module : Algorithmes & Programmation python

Chapitre 2 : Fonctions

Exemple 1
Résultat d’exécution
# Définition de la fonction afficher_numeros ()

def afficher_numeros () :
n=int(input("entrer le nombre des valeurs à afficher : "))
for i in range(n) :

print(i)

# appel de la fonction afficher_numeros ()

afficher_numeros ()

63
Module : Algorithmes & Programmation python

Chapitre 2 : Fonctions

Exemple 2 Résultat d’exécution

# Définition de la fonction afficher_numeros ()

def afficher_numeros (n) :


for i in range(n) :
paramètre formel n
print(i)

# appel de la fonction afficher_numeros ()

N=int(input("entrer le nombre des valeurs à afficher : "))


afficher_numeros (N)

paramètre effectif N

64
Module : Algorithmes a& Programmation 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

65
Module : Algorithmes & Programmation 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

66
Module : Algorithmes & Programmation 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

67
Module : Algorithmes & Programmation python

Chapitre 2 : Fonctions

Exercice d’application

Écrire une fonction volumeSphere qui calcule le volume d’une sphère de rayon r.
- Tester la fonction volumeSphere par un appel dans le programme principal.
NB: Volume d’une sphère = 4/3 * π * (Rayon) 3

Solution
def volumeSphere(r):
pi = 3.14
volume = (4/3) * pi * (r ** 3)
return (volume)
# appeler la fonction
rayon = float(input("Saisir le rayon de la sphère : "))
print(f"Le volume de la sphère avec un rayon de {rayon} est {volumeSphere(rayon):.2f}:")
# OU
V=volumeSphere(rayon)
Print("Le volume de la sphère est:" , V:.2f)
68
Module : Algorithmes & Programmation 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 (n) :


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

69
Module : Algorithmes & Programmation python

Chapitre 2 : Fonctions

Les fonctions récursives :Exemple d’une fonction calculant la factorielle d’un entier

Méthode récursive
.
def factorielle (n) :
if n==0 :
return 1
else :
return n * factorielle(n-1)

 Appel de la fonction:
x = int(input("Saisir un nombre : "))
print(f"La factorielle de {x} est {factorielle(x)}")

70
Module : Algorithmes a& Programmation python

Chapitre 2 : Modules

Définition
• 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’organiser et de structurer le code ;
- 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.
• Module os : pour interagir avec le système d'exploitation

71
Module : Algorithmes & Programmation 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 attributs)
- from nom_module import nom_element # permet d’importer un élément précis du module

Exemples from math import *


import math import math as mt x=int(input(" x= " )
x=int(input(" x= ") x=int(input(" x= " ) y=int(input(" y= " )
print(" RC= " , [Link](x)) print(" RC= " , [Link](x)) print(" Le PGCD des deux valeurs est ", gcd(x, y))

from math import sqrt # Utilisation directe de sqrt


print(sqrt(16)) # Affiche 4.0

72
Module : Algorithmes & Programmation 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 *
a=float(input(" Entrer une première valeur : " ))
def soustraction (x, y) :
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)

73
Module : Algorithmes & Programmation python

Chapitre 2 : Modules

 Exemple d‘ installation de modules non inclus par défaut dans Python via pip

74
Module : Algorithmes & Programmation python

Chapitre 2 : Fonctions & Modules

Exercices : Série N2

75
Module : Algorithmes & Programmation python

Chapitre 3 : Chaines de caractères

76
Module : Algorithmes & Programmation 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 = "" # déclaration d’une chaine vide
ch4 ="""chaine de caractères sur plusieurs lignes """ ou ch5 = ‘‘‘ haine de caractères sur plusieurs lignes ‘‘‘
ch5 = r " c’est un texte1\n \t c’est un texte2 " # ceci consiste à ignorer les caractères spéciaux \n \t

77
Module : Algorithmes & Programmation 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

78
Module : Algorithmes & Programmation 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

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’

79
Module : Algorithmes & Programmation python

Chapitre 3 : chaines de caractères


Manipulation des chaines de caractères

Le slicing des chaînes en Python est une fonctionnalité puissante pour extraire, manipuler et transformer des sous-parties de
chaînes de manière concise et efficace. Cela permet de travailler avec des chaînes de façon flexible sans avoir à recourir à
des boucles complexes.
La syntaxe de base pour le slicing d’une chaine est : chaine[start:stop:step]
start : L'indice de début (inclus).
stop : L'indice de fin (exclus).
step : Le pas (pour choisir un intervalle entre les éléments).
- Les indices négatifs sont utilisés pour accéder aux éléments depuis la fin de la chaîne.
- Les chaînes sont immuables ; le slicing crée de nouvelles chaînes.

Exemple: ch3 = "salut les programmeurs"


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’
print (ch3[-12:-1] ) # permet d’afficher les caractères ayant indice de -2 à -12 : ‘programmeur’
print (ch3[0:12:2]) # Découper de l'indice 0 à l'indice 12 avec un pas de 2: ‘sltlsp’
print ( ch3 [:]) # permet d’afficher toute la chaîne ‘salut les programmeurs’ 80
Module : Algorithmes & Programmation 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 le cas d’une chaine 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

81
Module : Algorithmes & Programmation 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']

82
Module : Algorithmes & Programmation python

Chapitre 3 : chaines de caractères

Les méthodes startswith(), endswith()

- La fonction startswith() 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
print(chaî[Link] ("91")) # permet d’afficher True
print(chaî[Link] ("2")) # permet d’afficher False

83
Module : Algorithmes & Programmation 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.
- La méthode title() met la première lettre de chaque mot en majuscule
Exemple
string = "CE MATIN il fait beau"
print([Link]()) #permet d’afficher ‘CE MATIN IL FAIT BEAU ‘
print([Link]()) #permet d’afficher ‘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’
print([Link]())) #permet d’afficher ‘Ce Matin Il Fait Beau’

84
Module : Algorithmes & Programmation 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 = "Bonjour tout le monde"
print([Link]("t")) # permet d’afficher 8
print([Link]("u", 7, 19)) # permet d’afficher 10
print([Link]("o") )# permet d’afficher 17
print([Link]("o", 7, 19) )# permet d’afficher 17
print([Link]("o", 5,9) )# permet d’afficher ValueError: substring not found

85
Module : Algorithmes & Programmation 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 = "Bonjour tout le monde"
chaine2 = "ou"
print([Link](chaine2)) # permet d’afficher 2
print([Link]("o", 3, 10)) # permet d’afficher 2

86
Module : Algorithmes & Programmation 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
print([Link]("toute")) # permet d’afficher -1
87
Module : Algorithmes & Programmation 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’
print([Link]("Au revoir", chaine2)) # permet d’afficher ‘Salut tout le monde’

88
Module : Algorithmes & Programmation 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

89
Module : Algorithmes & Programmation python

Chapitre 3 : chaines de caractères

Les méthodes : isalpha() ,isdigit(), isalnum (),isspace()


- isalpha() est une méthode de chaîne en Python qui permet de vérifier si tous les caractères d'une chaîne sont des
lettres alphabétiques (A-Z et a-z).

- Retourne True si tous les caractères de la chaîne sont des lettres (sans chiffres, espaces ou symboles). Retourne
False sinon.

- Fonctionne aussi pour les lettres accentuées et les caractères alphabétiques d’autres langues grâce au support
Unicode de Python

Exemple
-
print("Bonjour".isalpha()) # True

print("Bonjour123".isalpha()) # False (contient des chiffres)

print("".isalpha()) # False (chaîne vide)


print("Salut!".isalpha()) # False (caractère spécial "!")
print("Café".isalpha()) # True (l'accent est accepté car c'est une lettre Unicode)

print("salut le monde".isalpha()) # False (car il y a des espaces)

90
Module : Algorithmes & Programmation python

Chapitre 4 : Structures de données

91
Module : Algorithmes & Programmation python

Chapitre 4 : 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
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 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.

Une structure de données sert à : Chaque structure est adaptée à un besoin précis :
 Ranger des données (ex : des nombres, des textes…)  Rapidité d’accès
 Pouvoir accéder facilement à ces données  Pas de doublons
 Les modifier ou les trier rapidement  Ordre important ou non
 Résoudre des problèmes plus efficacement  Données modifiables ou figées

92
Module : Algorithmes & Programmation python

Chapitre 4 : 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 chaines de caractères
Liste_5 = ["Lundi", "M", 3, 4.5, "?"] #permet de définir une liste hétérogène

93
Module : Algorithmes & Programmation python

Chapitre 4 : 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 dupliquer la liste exactement valeur_numérique fois.
nom_liste1= nom_liste * valeur_numérique

Exemple
Liste_1 = [13, 11] #permet de définir une liste de chiffres
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']

94
Module : Algorithmes & Programmation python

Chapitre 4 : les listes

Appliquer des opérations sur les listes

 Avec l’opérateur +=, vous pouvez ajouter des éléments de manière assez simple.

x +=y ajoute tous les éléments de y à la fin de x , mais sans créer une nouvelle liste.

95
Module : Algorithmes & Programmation python

Chapitre 4 : les listes

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']

96
Module : Algorithmes & Programmation python

Chapitre 4 : 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
signifie« 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’]
->NB:Quand tu mets 2, Python va découper la chaîne en 3 morceaux max (parce qu'il fait 2 coupures).

97
Module : Algorithmes & Programmation python

Chapitre 4 : les listes

Autres méthodes de liste : join()

▪ La méthode join() permet de fusionner les éléments d’une liste de chaînes de caractères en une
seule chaîne 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
98
Module : Algorithmes & Programmation python

Chapitre 4 : 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]
99
Module : Algorithmes & Programmation python

Chapitre 4 : 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 : ou for nom_variable in range(len(nom_lliste)):
Instruction_1 Instruction_1
… Instruction_n … Instruction_n

Exemple Résultat d’exécution


Liste = ["Lundi", "Mardi", "Mercredi", "Jeudi"]
Lundi
for i in Liste :
Mardi
print (i) Mercredi
Jeudi
Liste = ["Lundi", "Mardi", "Mercredi", "Jeudi"]
for i in range(len(Liste)) :
print (Liste[i])

100
Module : Algorithmes & Programmation python

Chapitre 4 : 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)
•enumerate(Liste) ➡commence à 0 par défaut.
•enumerate(Liste, start=1) ➡commence à 1 (ou n’importe quel autre nombre que tu veux).

Exemple Résultat d’exécution

Liste_1 = ["Lundi", "Mardi", "Mercredi", "Jeudi"] 0 Lundi


1 Mardi
for i, x in enumerate(Liste_1) : print (i, x)
2 Mercredi
for i, x in enumerate(Liste_1 , start=1) : print (i, x) 3 Jeudi

1 Lundi
2 Mardi
3 Mercredi
4 Jeudi

101
Module : Algorithmes & Programmation python

Chapitre 4 : 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


Mardi 2
for i, x in zip(Liste_1, Liste_2) :
Mercredi 3
print (i, x) Jeudi 4

102
Module : Algorithmes & Programmation python

Chapitre 4 : 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
print (L) # permet d’afficher []

103
Module : Algorithmes & Programmation python

Chapitre 4 : 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
print (L) # permet d’afficher : [1, 2, 3, 6, 7, 9]
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]
104
Module : Algorithmes & Programmation python

Chapitre 4 : 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 .

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

105
Module : Algorithmes & Programmation python

Chapitre 4 : 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]

106
Module : Algorithmes & Programmation python

Chapitre 4 : 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), on peut utiliser la méthode sort()
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]() ) # permet d’afficher :[2, 6, 11, 18, 19, 25, 27, 43, 114]
[Link](reverse=True)
print (L) # permet d’afficher :[114, 43, 27, 25, 19, 18, 11, 6, 2]

107
Module : Algorithmes & Programmation python

Chapitre 4 : 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.

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

108
Module : Algorithmes & Programmation python

Chapitre 4 : 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 d’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_m]]

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]
Liste[1] fait référence à la deuxième sous-liste de Liste, qui est [2, 'Mai', 2005].
print(Liste[1][2]) # permet d’afficher : 2005 Ensuite, [2]fait référence à l'élément à l'indice 2 de cette sous-liste, qui est l'année 2005.

print(Liste[:][1]) # permet d’afficher : [2, 'Mai', 2005] crée une copie de la liste et accède à la deuxième sous-liste de
cette copie.

109
Module : Algorithmes & Programmation python

Chapitre 4 : 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 :
nouvelle_liste = [fonction(element) for element in 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)
Equivalent à : print (L2) # permet d’afficher : [2, 4, 6, 8, 10]
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]
print (liste_2) # permet d’afficher : [1, 4, 9, 16, 25] L2=[x for x in L1 if x%2==0]
print (L2) # permet d’afficher : [2, 4, 6, 8, 10]
110
Module : Algorithmes & Programmation python

Chapitre 4 : les listes

Exercice d’application

Écrire un programme en Python qui effectue les opérations suivantes :


[Link]éer une liste ma_liste contenant les nombres suivants : 10, 20, 30, 40, 50, 60, 70.
[Link] le nombre 80 à la fin de la liste.
[Link] le troisième élément par 35.
[Link] le dernier élément de la liste.
[Link] la longueur de la liste (nombre d'éléments).
[Link] tous les éléments un par un à l’aide d’une boucle.
7. Vérifier si un nombre saisie par l’utilisateur est présent dans la liste.

8. Trouver et afficher le plus grand et le plus petit nombre de la liste.


[Link] la liste dont les éléments sont la moitié des valeurs de ma_liste et qui sont des
multiples de 20.

111
Module : Algorithmes & Programmation python

Chapitre 4 : les listes Solution

# 1. Créer une liste


ma_liste = [10, 20, 30, 40, 50, 60, 70]
# 1. Créer une liste autrement
ma_liste = list(range(10,71,10))
print(ma_liste)
# 1. Si je veux demander à l’utilisateur de saisir les éléments de la liste:
ma_liste = []
# Demander à l'utilisateur combien de nombres il veut ajouter
n = int(input("Combien de nombres voulez-vous ajouter à la liste ? "))
# Demander à l'utilisateur de saisir chaque nombre
for i in range(n):
valeur = int(input(f"Saisissez le {i+1}-ème nombre: "))
ma_liste.append(valeur)
print(ma_liste)

112
Module : Algorithmes & Programmation python

Chapitre 4 : les listes Solution

# 2. Ajouter 80 à la fin de la liste


# 7. Vérifier si un nombre est présent dans la liste
ma_liste.append(80) nombre = int(input("Entrez un nombre pour vérifier s'il est
print("Liste après ajout :", ma_liste) dans la liste : "))

# 3. Remplacer le troisième élément (30) par 35 if nombre in ma_liste:

ma_liste[2] = 35 print(f"{nombre} est présent dans la liste ")

print("Liste après modification :", ma_liste) else:


print(f"{nombre} n'est pas présent dans la liste ")
# 4. Supprimer le dernier élément
#8. Trouver le plus grand et le plus petit élément
ma_liste.pop()
plus_grand = max(ma_liste)
print("Liste après suppression :", ma_liste)
plus_petit = min(ma_liste)
# 5. Afficher la longueur de la liste
print("Plus grand élément :", plus_grand)
print("Longueur de la liste :", len(ma_liste))
print("Plus petit élément :", plus_petit)
# 6. Afficher tous les éléments un par un
#9.
print("Éléments de la liste :")
for elem in ma_liste: resultat = [x / 2 for x in ma_liste if x % 20 == 0]
print(elem) print(resultat)

113
Module : Algorithmes & Programmation python

Chapitre 4 : 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 (1, 2, 3, 4)
print(tuple_2) # permet d’afficher : (1, 2, 3, 4)
tuple_3 = 1, 2, 3, 4 # permet de définir un tuple des entiers(1, 2, 3, 4)
print(sum(tuple_3)) # permet d’afficher 10
tuple_4 = ("Lundi", 22, "Janvier", 2000) # permet de définir un tuple de différents types
# permet d’afficher : (‘Lundi’ 22, ‘Janvier’, 2000) 2000
print(tuple_4, tuple_4[-1])
tuple_5 =(34,) # permet d’afficher :(34,)

114
Module : Algorithmes & Programmation python

Chapitre 4 : 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 n e modifient pas les éléments du tuple (car un tuple est une séquence
immuable) tel que len(), min() / max(), sum().

▪ 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 # permet d’afficher : (‘a’, 'b', 'a', 'b', 'a', 'b', 'a', 'b', 'c', 'd', ‘e')
print(tuple3)
for x in tuple3 :
print(x, end="-") # permet d’afficher : a-b-a-b-a-b-a-b-c-d-e-

115
Module : Algorithmes & Programmation python

Chapitre 4 : 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')

116
Module : Algorithmes & Programmation python

Chapitre 4 : les tuples

Exemple
 On peut extraire les valeurs d'un tuple dans des  On peut aussi utiliser * pour stocker plusieurs
variables : éléments :
coordonnees = (10, 20) t = (1, 2, 3, 4, 5)
x, y = coordonnees a, *b, c = t
print(x) # 10 print(a) # 1
print(y) # 20 print(b) # [2, 3, 4]
print(c) # 5

 Différences entre liste et tuple

117
Module : Algorithmes & Programmation python

Chapitre 4 : le dictionnaire

Définition d’un dictionnaire

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


▪ Il s’agit d’un ensemble 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 et immuables (ex : nombres, chaînes de caractères, tuples)..

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’}

118
Module : Algorithmes & Programmation python

Chapitre 4 : 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'])

119
Module : Algorithmes & Programmation python

Chapitre 4 : 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] : print(x)
for x, y in [Link]() : 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

120
Module : Algorithmes & Programmation python

Chapitre 4 : 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'}
dico = dict(nom="Amine", âge=16, classe="5ème") OU dico = dict("nom":"Amine", "âge":16, "classe":"5ème")
print(dico) # permet d’afficher : {'nom': 'Amine', 'âge': 16, 'classe': '5ème'}

121
Module : Algorithmes & Programmation python

Chapitre 4 : le dictionnaire

La méthode get()

▪ La méthode get() renvoie la valeur de la clé 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(dico[2]) #permet d’afficher : deux, mais, si la clé n'existe pas, Python renvoie une erreur. Pour
éviter cela, on peut utiliser .get()
print([Link](2)) # permet d’afficher : deux
print([Link](5,"Element introuvable")) # permet d’afficher : Element Introuvable

122
Module : Algorithmes & Programmation python

Chapitre 4 : 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](2)) # permet d’afficher : None

print(dico) # permet d’afficher : {1: 'un', 3: 'trois', 4: ‘quatre'}

123
Module : Algorithmes & Programmation python

Chapitre 4 : le dictionnaire
Exemple
dico = dict(nom="Amine", âge=16, classe="5ème") OU dico = dict("nom":"Amine", "âge":16, "classe":"5ème")
print(dico) # permet d’afficher : {'nom': 'Amine', 'âge': 16, 'classe': '5ème'}
dico["moyenne"] = 15.5 #Ajouter une nouvelle clé-valeur
print(dico)
dico["âge"] = 17 #Modifier une valeur
print(dico)
del dico["moyenne"] #Supprimer des éléments
print(dico)
Sa-classe = [Link]("classe") #Supprimer des éléments
print(Sa-classe) # 5ème
print(dico)
print("nom" in dico) # affiche True :il permet de vérifier si une clé existe
print("moyenne" in dico) # False
[Link]() #Supprimer tous les éléments
print(dico) # {}

124
Module : Algorithmes & Programmation python

Chapitre 4 : 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']}} """

125
Module : Algorithmes & Programmation python

Chapitre 4 : le dictionnaire

Dictionnaire d’une structure de données


Exemple
dico_3= {1: {'Hiver': ['Décembre', 'Janvier', 'Février'], 'Printemps': ['Mars', 'Avril', 'Mai']}, 2: {'Eté':
['Juin', 'Juillet', 'Aôut'], 'Automne': ['Septembre', 'Octobre', ‘Novembre']}}

dico_3[1] → Accède au premier dictionnaire (dico_1).


dico_3[1]["Hiver"] → Accède à la liste des mois d'hiver.
print(dico_3[1]["Hiver"]) →résultat: ['Décembre', 'Janvier', 'Février']
dico_3[1]["Hiver"][0] →Accéder au premier mois de l'hiver
print(dico_3[1]["Hiver"][0]) →affiche le premier élément de cette liste → résultat: Décembre
dico_3[2]["Eté"][-1] → Prend le dernier élément de la liste des mois d'été .
print(dico_3[2]["Eté"][-1]) → affiche: Août

126
Module : Algorithmes & Programmation python

Chapitre 4 : l‘ensemble set

 Une structure ensembliste set:

Une structure ensembliste sert à gérer des collections d’éléments uniques, sans
doublons. Elle permet aussi de faire des opérations mathématiques d’ensemble, comme
l’union, l’intersection, etc.
 il n'y a pas d’accès indexé aux éléments, ni d’ordre entre ces derniers,
 On construit un ensemble par une expression de la forme : set (Séquence) où séquence
est une donnée parcourable (liste, tuple, chaîne de caractères, range, etc.).

Exemple
animaux = {"chat",
| "chien", "lapin", "chat"}
print(animaux) # ,'chien', 'lapin', 'chat'- → le doublon "chat" est supprimé
Exemple

a =set() #définir un ensemble vide


print (a) # Le script affiche:{}

127
Module : Algorithmes & Programmation python

Chapitre 4 : l‘ensemble set

 Une structure ensembliste set:

Une structure ensembliste sert à gérer des collections d’éléments uniques, sans
doublons. Elle permet aussi de faire des opérations mathématiques d’ensemble, comme
l’union, l’intersection, etc.
 il n'y a pas d’accès indexé aux éléments, ni d’ordre entre ces derniers,
 On construit un ensemble par une expression de la forme : set (Séquence) où séquence
est une donnée parcourable (liste, tuple, chaîne de caractères, range, etc.).

Exemple
animaux = {"chat",
| "chien", "lapin", "chat"}
print(animaux) # ,'chien', 'lapin', 'chat'- → le doublon "chat" est supprimé
Exemple

a =set() #définir un ensemble vide


print (a) # Le script affiche:{}

128
Module : Algorithmes & Programmation python

Chapitre 4 : l‘ensemble set

a = set(*‘ENCGT', ’S6’,’Prog Python ’+) #définir un ensemble à partir d’une liste


print (a) #Affiche {‘ENCGT', ’S6’,’Prog Python’}
a = set(range(10)) #définir |un ensemble à partir de range
print (a) #Affiche {0,1,2,3,4,5,6,7,8,9}

 Opérations ensemblistes en Python : Exemple

A = {1, 2, 3}
B = {3, 4, 5}
|
print(A | B) ou [Link](B) # affiche{1, 2, 3, 4, 5}
print(A & B) ou [Link](B) # affiche: {3}
print(A - B) # Différence: {1, 2}
print(A ^ B) # Différence symétrique: {1, 2, 4, 5}

129
Module : Algorithmes & Programmation python

Chapitre 4 : l‘ensemble set

 Opérations ensemblistes en Python :


ensemble .add(élement): ajout de l'élément indiqué à l'ensemble indiqué

ensemble .remove(élement): suppression de l'élément indiqué de l'ensemble indiqué

ensemble1 .issubset(ensemble2): Tous les éléments de l’ensemble 1 appartiennent à l'ensemble2?


Exemple
a =,‘ENCG', ’S6’,’Prog Python’-
[Link](‘Tanger’)
print(a)  permet d’afficher :,'S6', 'Prog Python', 'ENCG', 'Tanger'}
[Link](‘Prog Python’)
print(a)  permet d’afficher: {'Tanger', 'S6', 'ENCG'}
b={'Tanger', 'S6', 'ENCG'}
c= [Link](a)
print( c )  permet d’afficher: True
130
Module : Algorithmes & Programmation python

Chapitre 4 : structures de données

Exercices : Série N3
Chaines de caractères et structures de données

131

Vous aimerez peut-être aussi