Programmation Python V5
Programmation Python V5
Déroulement 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 : Classes et Objets - TD6
• Chapitre 7 : Tableaux - TD7
Projet de fin de module
Généralités
Généralités
Exemple d’un
Début
Exemple d’un pseudocode
organigramme
Algorithme Division ;
Entrer la valeur de A et B
Variables A, B : réel ;
Faux Vrai Début
B=0 Ecrire (‘Entrer les deux valeurs : ‘) ;
Lire (A,B);
Calculer A/B if (B=0)
Afficher un
message d’erreur Ecrire (‘impossible de diviser par 0 ‘) ;
Afficher le résultat else
Ecrire (‘le résultat est : ‘, A/B) ;
Fin
Fin
Généralités
Généralités
Langage de
C’est une notation conventionnelle destinée à formuler des
programmation
algorithmes 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.
Généralités
Ex : Langage
Langage binaire
C 0 et 1
Généralités
Interprétation
C’est l’analyse et l’exécution de chaque ligne du code source (rédigé en
utilisant un langage de programmation) sans la génération du code objet
Ex :
Langage
python
Généralités
Interpréteur Compilateur
• Convertit le programme en prenant une • Analyse l’ensemble du programme et le
seule ligne à la fois. traduit dans son ensemble en code machine.
• L’analyse du code source prend moins • L’analyse du code source prend beaucoup de
de temps, mais le temps d’exécution temps, mais le temps d’exécution global est
global est plus lent. comparativement plus rapide.
Généralités
Type de
programmation Généralement, on distingue entre deux types de programmation :
programmation procédurale et 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 :
Ada, FoxPro, Modula-2, BASIC, Pascal, C, ALGOL, COBOL, Fortran
Généralités
Type de
programmation Généralement, on distingue entre deux types de programmation :
programmation procédurale et programmation orienté
objet
Exemple :
C++, C, Java, Python, Ruby, Javascript, etc.
Généralités
Classe
• Un type d’une variable complexe
• Un modèle ou un plan pour créer des objets. Elle dé nit les
propriétés (attributs) et les comportements (méthodes) communs à
tous les objets créés à partir de cette classe.
def afficher_informations(self):
print (f "Nom: {self.nom}")
print (f "Âge: {self.age}")
print((f "Note: {self.note}")
fi
Module : Algorithmique avancée & Programmation python
Généralités
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éé.
Généralités
Généralités
Généralités
• 1991 : Guido van Rossum travaille aux Pays-Bas sur le projet AMOEBA : un
système d’exploitation distribué. Il conçoit Python à partir du langage ABC et
publie la version 0.9.0 sur un forum Usenet
• 1996 : sortie de Numerical Python, ancêtre de numpy
• 2001 : naissance de la PSF (Python Software Fundation)
Les versions se succèdent... Un grand choix de modules est disponible, des colloques
annuels sont organisés, Python est enseigné dans plusieurs universités et est utilisé
en entreprise...
Généralités
Pour af cher l’aide sur un keyword ou une fonction python, il suf t de taper la
commande :
>>>> help(nom du keyword ou nom de la fonction)
fi
Module : Algorithmique avancée & Programmation python
Ex:
a=
print(type(a)
<class 'int'>
Opérateurs arithmétiques
x+y Somme de x et y
x**y x à la puissance y
Opérateurs de comparaison
< inférieur à
<= inférieur ou égal à
Opérateurs de conversion
> supérieur à
>= supérieur ou égal à Convertir x vers un
int(x)
== égal à nombre entier
Opérateurs d’affectation
• C’est l’opération qui permet d’attribuer à une variable une valeur simple ou résultante
d’une expression arithmétique :
- Identi cateur_variable = valeur simpl
- Identi cateur_variable = expression arithmétiqu
• Une affectation multiple c’est attribuer à plusieurs variables une seule valeur avec une
seule affectation.
- Identi cateur_variable1=Identi cateur_variable2= Valeur
• Une affectation parallèle c’est affecter des valeurs à plusieurs variables en parallèle.
- Identi cateur_variable1, Identi cateur_variable2= Valeur1, Valeur 2
Exemple :
s=p*(r**2)
NB :
a=b=c=3 Lorsque les types des deux opérandes sont différents il y’a
x,y,z=1,2,3 conversion implicite vers le type de la variable résultante.
Opérateurs d’assignation
Additionne les deux valeurs op1 et op2, le résultat est
op1+= op2 op1=op1 +op2 stocké dans op1
op1**=op2 op1=op1**op2 Calculer op1 à la puissance op2 et mettre le résultat dans op1
Exemple :
A+=2 #Ajouter 2 à A puis stocker la nouvelle valeur dans A
B//=5 # Diviser B sur 5 puis stocker la partie entière du résultat dans B
C**=3 # calculer C à la puissance 3 puis stocker le résultat dans C
Syntaxe générale
Exemple
• 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
Résultat d’exécution
iden_var = input ()
*** Choisir une valeur pour R
iden_var = input ( ″message ″) 2.4
Exemple
Exemple
A==B
A<=4
Expression logique ▪ C’est une combinaison entre deux expressions logiques simples
complexe
en utilisant un opérateur logique.
▪ La valeur d’une expression logique complexe est de type booléen
(vrai ou faux)
Exemple
Opérateur de Opérateur Opérateur de
comparaison logique comparaison
(A + 3 < B * 2) and (A % B == 0)
Expression logique Expression logique
simple simple
L’instruction : if
if expression logique :
Instruction 1
Instruction 2 Instructions à exécuter si
… l’expression logique est
Instruction n vraie
Exemple
if X > 0 :
print ( ″ c’est un nombre positif ″ )
L’instruction : if … else
if expression logique_1 :
Instructions à exécuter si l’expression logique_1 est vraie
elif expression logique_2 :
Instructions à exécuter si l’expression logique_2 est vraie
…
Exemple
if X > 0 :
print (″ C’est un nombre positif ″)
elif X < 0 :
print (″ C’est un nombre négatif″ )
else :
print (″ C’est un nombre nul″ )
match IdentificateurVariable :
case Valeur1 :
Instructions à exécuter si IdentificateurVariable = Valeur1
…
case ValeurN :
Instructions à exécuter si IdentificateurVariable = ValeurN
case other :
Instructions à exécuter si IdentificateurVariable n’appartient pas à
la liste des valeurs {Valeur1, Valeur2, … , ValeurN}
Exemple
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é
Exercice d’application
Les boucles
La boucle for
Exemple
for x in [1, 2, 3, 4, 5] :
print (″ x prend la valeur ″, x)
La boucle for
for i in "Bonjour" :
print (i, end = " ") # le résultat d’exécution est l’affichage des caractères B o n j o u r
for x in [4, 5, 6] :
print (x, end = " ") # le résultat d’exécution est l’affichage des valeurs 4 5 6
for y in ["B", 15, 3.6, "Et"] :
print (y, end = " ") # le résultat d’exécution est l’affichage des valeurs B 15 3.6 Et
for j in range(5) :
print (j, end = " ") # le résultat d’exécution est l’affichage des valeurs 0 1 2 3 4
for k in range (1, 5) :
print (k, end = " ") # le résultat d’exécution est l’affichage des valeurs 1 2 3 4
for k in range (1, 10, 3) :
print (k, end = " ") # le résultat d’exécution est l’affichage des valeurs 1 4 7
La boucle while
Instruction 1 Exemple
à exécuter tant
Instruction 2 que l’expression
… x=1
logique est vraie
Instruction n while x < =5 :
print (″ x prend la valeur ″, x)
x=x+1
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 :″))
L’instruction break
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.
Exercices : Série N1
Chapitre 2 : Fonctions
Définition
- Une fonction est un bloc d’instructions regroupées sous un même nom (le choix
du nom de la fonction doit répondre aux mêmes contraintes pour choisir un identificateur
d’une donnée).
- Une fonction peut avoir des paramètres/arguments
- Une fonction peut renvoyer une valeur avec le mot clé return
- Pour exécuter le code d’une fonction, il suffit d’écrire son nom avec ses paramètres
( dans le cas d’une fonction ayant des paramètres)
Chapitre 2 : Fonctions
Exemple 1
# 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 ()
Résultat d’exécution
Entrer le nombre des valeurs à afficher : 6
0
1
2
3
4
5
Chapitre 2 : Fonctions
Exemple 2
# Définition de la fonction afficher_numeros ()
def afficher_numeros (n) :
for i in range(n) :
print(i)
# appel de la fonction afficher_numeros ()
N=int(input("entrer le nombre des valeurs à afficher : "))
afficher_numeros (N)
Résultat d’exécution
Entrer le nombre des valeurs à afficher : 6
0
1
2
3
4
5
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
Chapitre 2 : Fonctions
Exemple 4
def somme (x, y) :
s =x+y
print ( "la somme des deux valeurs est : ", s )
Résultat d’exécution
12
10
La somme des deux valeurs est : 22
Chapitre 2 : Fonctions
Exemple 5
def somme (x, y) :
s =x+y
return (s)
Résultat d’exécution
12
10
La somme des deux valeurs est : 22
Chapitre 2 : Fonctions
Chapitre 2 : Fonctions
Chapitre 2 : Modules
Exemples
import math import math as mt from math import *
x=int(input(" x= ") x=int(input(" x= " ) x=int(input(" x= " )
print(" RC= " , math.sqrt(x) print(" RC= " , mt.sqrt(x) y=int(input(" y= " )
print(" Le PGCD des deux valeurs est ",
gcd(x, y))
Chapitre 2 : Modules
Définition
• Un projet Python est généralement composé de plusieurs fichiers sources ayant l’extension .py,
• Un module est un fichier script Python permettant de définir des éléments de programme
réutilisables dans d’autres scripts python. Ce mécanisme permet d’élaborer efficacement des
bibliothèques de fonctions ou de classes.
• L’utilisation des modules peut avoir plusieurs avantages à savoir :
- La réutilisation du code ;
- La possibilité d’intégrer la documentation et les tests au module ;
- La réalisation de services ou de données partagés ;
Chapitre 2 : Modules
Module calcul.py
def addition (x, y) : Script principal
return (x+y)
from calcul import *
Exercices : Série N2
Définition
- 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
Exemple
ch3 = "salut les programmeurs"
print (ch3[1] ) # permet d’afficher le caractère ‘a’
print (ch3[-5] ) # permet d’afficher le caractère ‘m’
print (ch3[: 5] ) # permet d’afficher les caractères ayant indice de 0 à 4 : ‘salut’
print (ch3[10:17] ) # permet d’afficher les caractères ayant indice de 10 à 16: ‘program’
print (ch3[-12:] ) # permet d’afficher les caractères ayant indice de -1 à -12 : ‘programmeurs’
print (ch3[-12:-1] )
# permet d’afficher les caractères ayant indice de -2 à -12 : ‘programmeur’
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
- 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']
- La fonction startwith() est une fonction qui permet de vérifier si une chaine de
caractère commence par un ou plusieurs caractères, la méthode renvoie une
valeur de type booléen : True ou False.
- La fonction endswith() est une fonction qui permet de vérifier si une chaine de
caractère se termine par un ou plusieurs caractères, la méthode renvoie une valeur
de type booléen : True ou False.
Exemple
chaîne = "234567891"
if chaîne.startswith ("2345") :
print("ok") # permet d’afficher ok
if chaîne.endswith ("91") :
print("ok") # permet d’afficher ok
Exemple
chaine1 = "Coucou tout le monde"
print(chaine1.index("t")) # permet d’afficher 7
print(chaine1.index("u", 7, 19)) # permet d’afficher 9
print(chaine1.rindex("o") # permet d’afficher 16
print(chaine1.rindex("o", 7, 19) # permet d’afficher 16
La méthode : count ()
Exemple
chaine1 = "Coucou tout le monde"
chaine2 = "ou"
print(chaine1.count(chaine2)) # permet d’afficher 3
print(chaine1.count("o", 3, 10)) # permet d’afficher 2
Exemple
chaine1 = "Salut tout le monde tout le monde"
chaine2 = "tout"
print(chaine1.find(chaine2)) # permet d’afficher 6
print(chaine1.rfind(chaine2)) # permet d’afficher 20
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(chaine1.replace("Salut", chaine2)) # permet d’afficher ‘Bonjour tout le monde’
Exemple
string = "CE MATIN il fait beau"
print(string.upper()) #permet d’afficher ‘CE MATIN IL FAIT BEAU ‘
string = "CE MATIN il fait beau"
print(string.lower()) #permet d’afficher ‘ce matin il fait beau’
string = "ce mAtin IL Fait beau"
print(string.swapcase()) #permet d’afficher ‘CE MaTIN il fAIT BEAU’
string = "ce matin il fait beau"
print(string.capitalize()) #permet d’afficher ‘Ce matin il fait beau’
Exercices : Série N3
Exemple
Liste_1 = [] #permet de définir une liste vide
Liste_2 = [1, 2, 3, 4] #permet de définir une liste des entiers
Liste_3 = ["A", "B", "C"] #permet de définir une liste de caractères
Liste_4 = ["Lundi", "Mardi", "Mercredi", "Jeudi"] #permet de définir une liste de jours
Liste_5 = ["Lundi", "M", 3, 4.5, "?"] #permet de définir une liste
Exemple
Liste_1 = [13, 11] #permet de définir une liste vide
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']
▪ 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']
Exemple
chaine = "exemple de la fonction split" # permet de définir une chaine de caractères
L1 = chaine.split ()
print(L1) # permet d’afficher la liste : [‘exemple', 'de', 'la', 'fonction', ‘split']
L2 = chaine.split (" ", 2)
print(L2) # permet d’afficher la liste : ['exemple', 'de', 'la fonction split’]
▪ La méthode join() permet de créer des chaînes à partir d’un ensemble d’éléments
(liste, tuple, dictionnaire, etc…) en utilisant un séparateur de chaîne.
▪ La méthode join() prend un seul paramètre qui est l’ensemble d’éléments à
concaténer, et renvoie la chaîne concaténée.
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
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]
▪ Pour parcourir une liste, il est possible d’utiliser la boucle for selon la syntaxe
suivante :
for nom_variable in nom_liste :
Instruction_1
…
Instruction_n
Exemple
Liste = ["Lundi", "Mardi", "Mercredi", "Jeudi"] Résultat d’exécution
for i in Liste :
Lundi
print (i)
Mardi
Mercredi
Jeudi
▪ La méthode enumerate() permet d’afficher les éléments d’une liste associés à des
index.
Exemple
Résultat d’exécution
Liste_1 = ["Lundi", "Mardi", "Mercredi", "Jeudi"]
for i, x in enumerate(Liste_1) : 0 Lundi
print (i, x) 1 Mardi
2 Mercredi
3 Jeudi
▪ La méthode zip() permet de lier les éléments d’une liste avec une deuxième liste ou
plus.
Exemple
Liste_1 = ["Lundi", "Mardi", "Mercredi", "Jeudi"] Résultat d’exécution
Liste_2 = [1, 2, 3, 4] Lundi 1
for i, x in zip(Liste_1, Liste_2) : Mardi 2
print (i, x) Mercredi 3
Jeudi 4
▪ 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 (L.count("Lundi") ) # permet d’afficher la valeur : 1
L.clear() # permet de supprimer tous les éléments d’une liste
Exemple
L = [1, 2, 3, 4, 5, 6, 7, 8, 9]
L.remove(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]
L.pop(3) # permet de supprimer l’élément ayant l’indice 3 à partir de la liste L
print (L) # permet d’afficher : [1, 2, 3, 6, 7, 8, 9]
del L[5] # permet de supprimer l’élément ayant l’indice 5 à partir de la liste L
del L[1:4] # permet de supprimer les éléments ayant les indices : 1, 2, 3 à partir de la liste L
print (L) # permet d’afficher : [1, 7, 9]
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
Exemple
L = [1, 2, 3, 4, 5, 6, 7, 8, 9]
L.append(10)
print (L) # permet d’afficher : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
L.insert(4, 101)
print (L) # permet d’afficher : [1, 2, 3, 4, 101, 5, 6, 7, 8, 9, 10]
L.extend ([10, 11, 12])
print (L) # permet d’afficher : [1, 2, 3, 4, 101, 5, 6, 7, 8, 9, 10, 10, 11, 12]
▪ 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]
L.sort(reverse=True)
print (L) # permet d’afficher :[114, 43, 27, 25, 19, 18, 11, 6, 2]
Exemple
L = ["S", "B", "A", "E", "AU", "ET"]
L.reverse()
print (L) # permet d’afficher : ['ET', 'AU', 'E', 'A', 'B', ’S’]
print (L.index("E")) # permet d’afficher : 2
▪ Une liste d’une liste est un ensemble d’éléments dont chaque élément est une
liste.
▪ Pour définir une liste, on utilise la syntaxe suivante :
nom_liste = [[element_1, element_2, …, element_n], [element_1, element_2, …,
element_n], …, [element_1, element_2, …, element_n]]
Exemple
Liste=[[12,"Janvier", 2000], [2,"Mai", 2005], [22,"Mars", 1999], [11,"Juin", 2002]]
print (Liste) # permet d’afficher : [[12, 'Janvier', 2000], [2, 'Mai', 2005], [22, 'Mars', 1999], [11, 'Juin',
2002]]
print(Liste[2]) # permet d’afficher : [22, 'Mars', 1999]
print(Liste[1][2]) # permet d’afficher : 2005
print(Liste[:][1]) # permet d’afficher : [2, 'Mai', 2005]
Exercice d’application
On considère une liste Notes contenant les notes d’un groupe d’étudiants inscrits dans une
formation donnée.
Écrire un script python qui permet de faire un ensemble de traitements selon un menu affiché à
l’utilisateur. L’utilisateur quitte l’exécution du programme lorsqu’il choisit la valeur 7.
Le menu contient les éléments suivants :
1. Ajouter une note
2. Afficher la liste des notes des étudiants
3. Afficher la note maximale
4. Afficher la note minimale
5. Afficher la note moyenne du groupe
6. Trier la liste des notes d’une manière décroissante
7. Terminer l’exécution du programme
Solution
case 1:
L=[]
note=float(input("entrer votre note : "))
def menu(): L.append(note)
print("\n1: Ajouter une note") print("note ajoutée avec succès")
print("2: Afficher la liste des notes des étudiants") case 2:
print("3: Afficher la note maximale ") if len(L)==0 :
print("Liste vide ")
print("4: Afficher la note minimale")
else :
print("5: Afficher la note moyenne du groupe")
print("Liste des notes : ")
print("6: Trier la liste des notes d’une manière afficher_liste(L)
décroissante") case 3:
print("7: Terminer l’exécution du programme") print("la note maximale est ", max(L))
ch=int(input("Entrer votre choix : ")) case 4:
print("la note minimale est ", min(L))
return(ch)
case 5:
def afficher_liste(nom_liste):
print("la note moyenne est ", sum(L)/len(L))
for x in nom_liste : case 6:
print(x, end=" ") L.sort(reverse=True)
choix=0 print("Liste triée avec succès")
while choix!=7 : case 7:
print("Fin du programme")
choix=menu()
case other :
match choix :
print("Veuillez saisir une valeur comprise entre 1 et 7 ")
Exemple
tuple_1 = () # permet de définir un tuple vide
tuple_2 = (1, 2, 3, 4) # permet de définir un tuple des entiers
print(tuple_2) # permet d’afficher : (1, 2, 3, 4)
tuple_3 = 1, 2, 3, 4 # permet de définir un tuple des entiers
tuple_4 = ("Lundi", 22, "Janvier", 2000) # permet de définir un tuple
print(tuple_4) # permet d’afficher : ("Lundi", 22, "Janvier", 2000)
▪ Toutes les opérations appliquées sur les listes sont applicables sur les tuples : +, *
▪ Les méthodes utilisées pour manipuler les listes sont utilisées également avec les
tuples à condition qu’elles modifient pas les éléments du tuple (car un tuple est
une séquence immuable)
▪ Exemples des méthodes qui ne sont pas utilisées avec les tuples : remove(), del,
pop(), sort(), insert(), append, extend(), clear(), reverse(), etc.
Exemple
tuple1, tuple2 = ("a","b"), ("c","d","e")
tuple3 = tuple1*4 + tuple2
print(tuple3) # permet d’afficher : (‘a’, 'b', 'a', 'b', 'a', 'b', 'a', 'b', 'c', 'd', ‘e')
for x in tuple3 :
print(x, end="-") # permet d’afficher : a-b-a-b-a-b-a-b-c-d-e-
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')
Chapitre 4 : le dictionnaire
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’}
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(dico.items()) # permet d’afficher : dict_items([(1, 'un'), (2, 'deux'), (3, 'trois'), (4, 'quatre')])
print(dico.keys()) # permet d’afficher : dict_keys([1, 2, 3, 4])
print(dico.values()) # permet d’afficher : dict_values(['un', 'deux', 'trois', 'quatre'])
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 dico.values :
for x, y in dico.items() : print(x)
print(x, y)
un
1 un
deux
2 deux
trois
3 trois
Exemple 2
dico = {1: "un", 2: "deux", 3: "trois"}
for x in dico.keys :
print(x)
1
2
3
Chapitre 4 : le dictionnaire
La méthode dict()
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'}
Chapitre 4 : le dictionnaire
La méthode get()
▪ La méthode get() renvoie la valeur de la clé donnée si elle est présente dans le
dictionnaire. Sinon, il renverra None (si get() est utilisé avec un seul argument).
▪ La méthode get utilise la syntaxe suivante avec deux paramètres :
nom_dictionnaire.get(clef, valeur_renvoyée)
- Clef : le nom de clé de l’élément à renvoyer sa valeur
- Valeur_renvoyée : (facultatif) valeur à renvoyer si la clé n’est pas trouvée. La valeur par
défaut est None.
Exemple
dico = {1: "un", 2: "deux", 3: "trois", 4: "quatre"} # permet de définir un dictionnaire
print(dico.get(2)) # permet d’afficher : deux
print(dico.get(5,"Element introuvable")) # permet d’afficher : Element Introuvable
Chapitre 4 : le dictionnaire
La méthode pop()
Exemple
dico = {1: "un", 2: "deux", 3: "trois", 4: "quatre"} # permet de définir un dictionnaire
print(dico.pop(2)) # permet d’afficher : deux
print(dico.get(2)) # permet d’afficher : None
print(dico) # permet d’afficher : {1: 'un', 3: 'trois', 4: ‘quatre'}
Chapitre 4 : le dictionnaire
Exercice d’application
Chapitre 4 : le dictionnaire
Solution
# Question 1 print("Les étudiants qui ont validé le module : ", V)
Notes={} print("Les étudiants qui n’ont pas validé le module : ", NV)
N=int(input("Nombre des étudiants : "))
for i in range (N) : # Question 4
print("Etudiant " , i+1) def max_notes(dict_notes):
nom=input("Nom = ") L=[]
note=float(input("Note = ")) for a,b in dict_notes.items() :
Notes[nom]=note if b==max(dict_notes.values()) :
# Question 2 L.append(a)
print("Liste des étudiants par ordre alphabétique : ") return L
for x in sorted(Notes.keys()): print("Les étudiants ayant la note maximale sont : ")
print(x, Notes[x]) print(max_notes(Notes))
# Question 3
V={}
NV={}
for x,y in Notes.items():
if y>=10:
V[x]=y
else :
NV[x]=y
Chapitre 4 : le dictionnaire
▪ 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
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']}} """
Chapitre 4 : le dictionnaire
Exercice d’application
▪ Ecrire un script python qui permet de saisir N valeurs numériques puis les classer
dans un dictionnaire contenant deux listes : une liste des valeurs positives et une
deuxième liste des valeurs négatives.
Dictionnaire={
"valeurs positives": [],
"valeurs négatives": []
}
▪ Le script affiche un message approprié dans le cas d’une valeur nulle
Chapitre 4 : le dictionnaire
Solution
Nombres={
"Positif" : [],
"Négatif" : []
}
N=int(input("Entrer le nombre des valeurs à classer : "))
for i in range(N) :
n=int(input ("entrer un nombre : "))
if n>0 :
Nombres["Positif"].append(n)
elif n<0 :
Nombres["Négatif"].append(n)
else :
print("Vous avez tapé une valeur nulle ")
print(Nombres)
Exercices : Série N4
Définition
Afin de vérifier l’existence d’un fichier ou non, on peut utiliser la fonction exists()
du module path qui appartient au module Python standard os.
Cette fonction renvoie :
• True si le chemin du fichier passé est un chemin qui existe
• False si le chemin n’existe pas.
Exemple
import os
if os.path.exists("/Users/sanakh/Desktop/exemples programmes python/somme.py")== True :
print("Le fichier existe")
else :
print("Le fichier n'existe pas ")
Exemple
import os
print(os.getcwd()) # permet d'afficher : /Users/sanakh
os.chdir("/Users/sanakh/Desktop/exemples programmes python")
print(os.getcwd()) # permet d'afficher : /Users/sanakh/Desktop/exemples programmes python
Supprimer un fichier
Exemple
import os
if os.path.exists("/Users/sanakh/Desktop/exemples programmes python/fich.py") :
os.remove("/Users/sanakh/Desktop/exemples programmes python/fich.py")
print("Fichier supprimé avec succés ")
else :
print("Le fichier à supprimer n'existe pas ")
Mode Description
Exemple
id_fichier=open("/Users/sanakh/Desktop/exemples programmes python/somme.py", "r")
print (id_fichier)
""" Permet d’afficher <_io.TextIOWrapper name='/Users/sanakh/Desktop/exemples programmes python/
somme.py' mode='r' encoding=‘UTF-8'> « ""
id_fichier.close() # permet de fermer le fichier identifié par son descripteur id_fichier
Ouverture d’ un fichier
• Afin d’ouvrir un fichier, on peut utiliser la fonction open() associé avec le mot with
• La méthode open() utilise deux arguments : le chemin du ficher à ouvrir et le mode
d’ouverture
with open("nom_fichier", "mode_ouverture") as descripteur_fichier :
Avec :
nom_ fichier : une chaine de caractère constante ou bien une variable de type string
mode_ouverture : un paramètre servant à déterminer le mode d’ouverture de fichier
Exemple
with open("/Users/sanakh/Desktop/exemples programmes python/somme.py", "a") as d_fichier :
print (d_fichier) # permet d’afficher les informations sur le fichier identifié par d_fichier
Exemple
id_fichier=open("/Users/sanakh/Desktop/exemples programmes python/somme.py", "r")
for x in id_fichier :
print (x) # permet d’afficher le contenu du fichier somme.py
id_fichier.close()
Exemple
id_fichier=open("/Users/sanakh/Desktop/exemples programmes python/somme.py", "r")
print (id_fichier.read()) # permet d’afficher le contenu du fichier somme.py
id_fichier.close()
Résultat d’exécution
a=int(input("a="))
b=int(input("b="))
print(f"la somme de {a} et {b} est : {a+b} ")
Exemple
id_fichier=open("/Users/sanakh/Desktop/exemples programmes python/semaine.txt », "r")
Liste_1= id_fichier.readlines()
print (Liste_1)
# permet d’afficher : ['Lundi 28 Novembre 2022\n', 'Mardi 29 Novembre 2022\n', 'Mercredi 30 Novembre 2022\n',
'Jeudi 01 Décembre 2022\n', 'Vendredi 02 Décembre 2022\n', 'Samedi 03 Décembre 2022\n', 'Dimanche 04
Décembre']
id_fichier.close()
Exemple
id_fichier=open("/Users/sanakh/Desktop/exemples programmes python/semaine.txt ", "w")
v=id_fichier.write("c’est un texte à ajouter dans le fichier texte")
print (f"le nombre de caractères ajoutés au ficher est {v}")
id_fichier.close()
Exemple
import o
x=os.path.getsize("exemple_ chier.txt"
print("le chier que vous avez choisi est de taille ", x, "octets")
fi
fi
)
Exercices : Série N5