Université Mohammed V
EST- Salé
GEII
COURS PYTHON 2
Professeur : Halima HOUSNY
Structures de contrôles
Structures conditionnelles If … else ….
❑ Une structure conditionnelle permet au programme d'agir de façons différentes
en fonction d'une condition (test).
❑ Il existe 3 variantes d’instructions conditionnelles :
test simple if condition : blocIf
if condition : blocIf
alternative simple
else : blocElse
if condition : blocIf
elif condition1 : blocElif1
alternative multiple elif condition2 : blocElif2
...
else : blocElse
professeur : Halima HOUSNY
Structures de contrôles
Structures conditionnelles If … else ….
Dans la structure : if condition : blocIf
❑ condition une expression booléenne (True ou False).
❑ Elle peut contenir les opérateurs de comparaison et aussi la combinaison de
plusieurs conditions qui doivent être vérifiées en même temps.
Exemple : x>=0 AND x<2
if ( x < 0): if ( x < 0): if ( x < 0):
print ("x est négatif") print ("x est négatif") print ("x est négatif")
else: elif x >0:
print ("x n’est pas négatif") print ("x est positif ")
else:
print ("x est null")
professeur : Halima HOUSNY
Structures de contrôles
Structures conditionnelles If … else ….
Exercices
Exercice1 :
Ecrire un programme python qui déterminent le maximum max et le minimum min
de 2 nombres x et y donnés par l’utilisateur.
Exercice2 :
Ecrire un programme python qui déterminent le maximum max et le minimum min
de 3 nombres x , y et z donnés par l’utilisateur.
professeur : Halima HOUSNY
Structures de contrôles
Structures conditionnelles match … case ….
❑ Jusqu’à sa version Python 3.9 (date de 2020-10-05) , le langage python n’avait
pas une instruction équivalente à switch… case…
❑ Avec la version Python 3.10 (2021-10-04), La communauté de python a
ajouter une nouvelle instruction appelée match…case… .
Syntaxe : match element :
case valeur1:
Bloc d’instructions 1
case valeur2:
Bloc d’instructions 2
case valeur3:
Bloc d’instructions 3
case other: #case _
Bloc d’instructions
professeur : Halima HOUSNY
Structures de contrôles
Structures conditionnelles match … case ….
Exemple: code d'état HTTP en messages d'erreur
professeur : Halima HOUSNY
Structures de contrôles
Structures conditionnelles match … case ….
Exercices
Exercice1 :
Ecrire un programme python qui répond à un utilisateur selon le texte écrit comme
suit:
Text de l’utilisateur Réponse du programme
"Hello" "Hello to you too! "
"How are you? " "Fine and you?! "
"Goodbye" "Goodbye. Have a nice day! "
"Goodmorning" "Hello. Happy to see you again! "
Autres textes "No match found"
professeur : Halima HOUSNY
Structures de contrôles
Les Boucles
Pour éviter de répéter explicitement Pour éviter de savoir à l’avance combien de
plusieurs fois de suite la même séquence fois il faut répéter la séquence pour obtenir
d’instructions le bon résultat
Les instructions itératives
❑ On parle également de boucles, de répétitions ou encore d’itérations.
❑ Nous distinguerons 2 variantes d’instructions itératives :
iteration conditionnelle while condition : blocWhile
parcours de séquence For nomVar in range (valInitial ,valFinal ): blocFor
professeur : Halima HOUSNY
Structures de contrôles
Les Boucles
Itération conditionnelle
while condition : blocWhile
❑ while (tant que) permet de répéter plusieurs fois les mêmes instructions.
❑ Cette action spécifie qu’une instruction (ou groupe d’instructions) doit être
répétée tant que la condition reste vérifiée.
❑ La partie < blocWhile> étant répétée jusqu’à ce que la condition devienne
fausse ; il faut donc que cette partie soit capable de modifier les paramètres
intervenant dans les conditions afin de sortir du ’tant que’.
Exemple: # Exemple1 : Exemple de saisie filtrée
n = input(’Entrez un entier [1 .. 10] : ’)
while (n < 1) or (n > 10):
n = input(’Entrez un entier [1 .. 10], S.V.P: ’)
professeur : Halima HOUSNY
Structures de contrôles
Les Boucles
Parcours de séquences
for nomVar in range (valInitial ,valFinal ): blocFor
❑ L'instruction For permet de répéter une portion de code.
❑ Cette action permet de répéter une action (ou un groupe d’actions représenté
ici par <blocFor>) un nombre de fois déterminé par les valeurs initiale et finale
du paramètre <nomVar>.
Exemple
for i in range (1,5) : for compteur in range(0,10):
note=float(input(“saisir une note N° “,i)) print(compteur, " *9= ", compteur*9)
professeur : Halima HOUSNY
Structures de contrôles
Les Boucles
Parcours de séquences
Syntaxe de la fonction range(): range (start, stop, step)
• start : [facultatif] valeur de départ de la séquence
• stop : valeur +1 de la valeur de fin de la séquence
• step : [facultatif] valeur de type entièr, indiquant la différence entre deux
nombres quelconques dans la séquence
❑ La fonction range renvoie un objet qui représente une séquence de
nombres
❑ range(n) renvoie une série de nombres commençant à 0 jusqu’à n-1.
❑ range(x,y) renvoie une série de nombres commençant à x jusqu’à y-1.
❑ range(x,y,p) renvoie une série de nombres commençant à 0 jusqu’à y-1 avec
un pas p.
professeur : Halima HOUSNY
Structures de contrôles
Les Boucles
Parcours de séquences
Exemples
for i in range(5,10): for i in range(1,10,2):
for i in range(10):
print(i, end=" | ") print(i, end=" , ") print(i, end=" * ")
# 0 |1|2|3|4|5|6|7|8|9| # 5,6,7,8,9 # 1*3*5*7*9
professeur : Halima HOUSNY
Structures de contrôles
Les Boucles
Exercices
Exercice1 :
Ecrire un programme python qui demande un nombre de départ, et qui ensuite
affiche les dix nombres suivants.
Par exemple, si l’utilisateur entre le nombre 17, le programme affichera les
nombres de 18 à 27.
Exercice2 :
Ecrire un programme python qui demande à l’utilisateur d’entrer des notes puis
calcule et affiche la somme et la moyenne de ces notes.
Le nombre des notes n’est pas connu à priori. Le programme stoppera la
demande des notes si l’utilisateur entre un nombre négatif.
professeur : Halima HOUSNY
Les listes
Définition
❑ Une liste est une suite ordonnée d’objets, pouvant être de type différent.
❑ Ces objets peuvent éventuellement être eux-mêmes des listes (listes
imbriquées).
❑ La création d’une liste se fait simplement par insertion des différentes valeurs
entre crochets en les séparant par des virgules.
Exemple:
L=[] # Pour déclarer une liste vide
L= [[1,2],[1],1] # liste dont les deux premiers termes sont des listes
L = [ 10, 28 , 3, 9, -5 ] # Pour déclarer une liste de 5 entiers
L = [ 2.5 , False, "Casa" , 50] # Pour déclarer une liste de 4 données de types
différents
professeur : Halima HOUSNY
Les listes
Accès aux valeurs d’une liste
❑ On peut accéder aux valeurs de la liste en indiquant l’indice ou les indices entre
crochets qui peuvent être positifs ou bien négatifs.
Exemple: Liste des matières que vous étudiez.
matieres = ["MATH", "PHY", "SI", "INFO", "FR", "EN", "TRA", "SPO"]
MATH PHY SI INFO FR EN TRA SPO
0 1 2 3 4 5 6 7 Indexation positive
-8 -7 -6 -5 -4 -3 -2 -1 Indexation négative
professeur : Halima HOUSNY
Les listes
Accès aux valeurs d’une liste
❑ On peut modifier les éléments d’une liste par la simple affectation, en indiquant
le nom de la liste et l’indice de l’élément à modifier.
Exemple: Modification de PHY à l’indice (1 ou -7) en PHYSIQUE
matieres = ["MATH", "PHY", "SI", "INFO", "FR", "EN", "TRA", "SPO"]
matieres[1] = "PHYSIQUE" # ou : matieres[-7] = "PHYSIQUE"
professeur : Halima HOUSNY
Les listes
Opérations sur les listes
L1= [0, 1, 2, 3, 4] L2 = [5, 6, 7, 8, 9]
L1 + L2 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] Concaténation de deux listes
L1*2 [0, 1, 2, 3, 4, 0, 1, 2, 3, 4] Répétition d’une liste
3 in L1 True Test d’appartenance
5 not in L2 False Test de non-appartenance.
L1 == L2 False Comparaison de listes
for x in L1 : Itération d’une liste :
01234
print(x, end='' ") Première méthode (par valeur)
for i in range(0, len(L1)) : Itération d’une liste :
print(L1[i], end='' ") 01234 Deuxième méthode (par indice)
Les listes
Manipulation des listes (Fonctions)
FONCTION DESCRIPTION
len(liste) Retourne la longueur d’une liste (le nombre de ces éléments)
max(liste) Retourne la plus grande valeur dans la liste.
min(liste) Retourne la plus petite valeur dans la liste.
professeur : Halima HOUSNY
Les listes
Manipulation des listes (Méthodes)
METHODE DESCRIPTION
Ajoute l’élément elem à la fin de la liste.
A = [ 4, 6 , 9]
List.append(elem)
A.append(0)
Resultat : A = [4, 6, 9, 0]
Compte combien de fois l’élément elem est présent dans la
liste.
List.count(elem) A=[2, 3, 2, 2 , "AB"]
A.count(2) donne 3
A.count(9) donne 0
professeur : Halima HOUSNY
Les listes
Manipulation des listes (Méthodes)
METHODE DESCRIPTION
Ajoute le contenu de la séquence seq à la fin de la liste.
A = [1 , 2, 3 , 4 ]
List.extends(seq)
B= [5, 6]
C= A.extends(B) donne C =[1, 2, 3, 4, 5, 6]
Retourne le plus petit indice dans lequel l’élément elem apparait
dans la liste.
List.index(elem)
A = [3,4,5,9,4]
A.index(4) retourne 1
professeur : Halima HOUSNY
Les listes
Manipulation des listes (Méthodes)
METHODE DESCRIPTION
Insert elem à la position index dans la liste.
List.insert(index, elem) A = [0, 8, 9]
A.insert(1,5) donne A= [0, 5, 8, 9]
Retourne et supprime l’élément d’indice i, l’indice par défaut est
-1.
List.pop(i)
A = [ 2 , 5 , -3, 9]
L’appel à x = A.pop() donne : A = [ 2 , 5, -3 ] et x=9
professeur : Halima HOUSNY
Les listes
Manipulation des listes (Méthodes)
METHODE DESCRIPTION
Supprime elem de la liste.
List.remove(elem) A = [ 2 , 5 , -3, 9]
A.remove(5) => A =[ 2 , -3 , 9 ]
List.reverse() Inverse l’ordre des éléments dans la liste
Trie la liste dans un ordre croissant par défaut
List.sort()
List.sort(reverse=True) pour l’ordre décroissant.
professeur : Halima HOUSNY
Les listes
Les sous-liste
❑ On peut extraire un sous-ensemble des éléments d’une liste en spécifiant un
intervalle d’indices de la façon suivante : liste[min:max].
❑ Les indices conservés sont ceux qui sont supérieurs ou égaux à min, et inférieurs
strictement à max,
>>> liste = [1, 4, 1, 5, 9 ]
>>> liste[2:] [1, 5, 9]
>>> liste[1:3] [4, 1]
>>> liste[:2] [1, 4]
>>> liste[2:2] []
>>> liste[:] [1, 4, 1, 5, 9]
>>> liste[:-1] [1, 4, 1, 5]
>>> liste[::2] [1, 1, 9]
professeur : Halima HOUSNY
Les listes
Exercices
Exercice 1. Afficher les entiers de l’index 4 à 7 d’une liste L;
Exercice 2. Vérifier l’appartenance des éléments 3 et 6 à une liste L.
Exercice 3. Ajouter 3 à chaque élément d’une liste d’entiers de 0 à 5.
Exercice 4. Ajouter 3 à chaque élément d’une liste d’entiers de 0 à 5, mais
seulement si l’élément est supérieur ou égal à 2.
Exercice 5. Calculer et afficher la somme d’une liste d’entiers de 0 à 9
professeur : Halima HOUSNY