Vous êtes sur la page 1sur 28

CHAPITRE 3

Structures de contrôle
et de répétition

Préparer par : SLIMANI Nawel

A.A: 2021-2022
Slimani Nawel - Python 1
1 Structures de contrôle

• Les structures de contrôle conditionnelles (ou plus


simplement conditions) vont nous permettre d’exécuter
différents blocs de code selon qu’une condition spécifique soit
vérifiée ou pas.
• Python nous fournit les structures conditionnelles suivantes :
– La condition if (“si”) ;
– La condition if…else (“si…sinon”) ;
– La condition if…elif…else (“si…sinon si… sinon”) .

Slimani Nawel - Python 2


1 Structures de contrôle If

• La structure conditionnelle if est une structure de base qu’on


retourne dans de nombreux langages de script. 
• Cette structure va nous permettre d’exécuter un code si (et
seulement si) une certaine condition est vérifiée.
• Si Python évalue la condition passée à if à  True, le code dans
la bloc  if sera exécuté. Dans le cas contraire, le code
dans if sera ignoré.

Slimani Nawel - Python 3


1 Structures de contrôle If

• la syntaxe générale d’une condition if est:


if condition :
code à exécuter.
• Si la condition est vraie, alors l’instruction que nous avons
indentée après le ≪ : ≫ est exécutée.
• Si la condition est fausse, rien ne se passe.
• Ecrire une condition if sans indentation est incorrect:
if condition :
code à exécuter.
• Notez que les parenthèses utilisées ici avec l’instruction if sont
optionnelle.
Slimani Nawel - Python 4
1 Structures de contrôle If…else

• La structure conditionnelle if…else (« si… sinon » en français)


est plus complète que la condition if puisqu’elle nous permet
d’exécuter un premier bloc de code si un test renvoie True ou
un autre bloc de code dans le cas contraire.
• La syntaxe d’une condition if…else va être la suivante :
if condition :
code si condition vraie
else:
code si non condition fausse

Slimani Nawel - Python 5


1 Structures de contrôle If…else

Slimani Nawel - Python 6


1 Structures de contrôle if…elif…else 

• La condition if…elif…else (« si…sinon si…sinon ») est une


structure conditionnelle encore plus complète que la
condition if…else
• Elle permettre d’effectuer autant de tests que l’on souhaite et
ainsi de prendre en compte le nombre de cas souhaité.
• La syntaxe d’une condition if…elif…else va être la suivante :
if condition1 :
code si condition1 vraie
elif: condition2 :
code si condition2 vraie
elif: conditionN :
code si conditionN vraie
Else:
code si toutes les conditions sont
Slimani Nawelfausses
- Python 7
1 Structures de contrôle if…elif…else 

Slimani Nawel - Python 8


1 Structures de contrôle Opérateurs de comparaison

• x == y # x est égal à y
• x != y # x est différent de y
• x > y # x est plus grand que y
• x < y # x est plus petit que y
• x >= y # x est plus grand que, ou égal à y
• x <= y # x est plus petit que, ou égal à y

Slimani Nawel - Python 9


1 Structures de contrôle Blocs d’instructions

• Dans la plupart des autres langages, un bloc d’instructions


doit etre delimite par des symboles.
• Par exemple: en C++ et en Java un bloc d’instructions doit
être délimité par des accolades.
• Avec Python, vous devez utiliser les sauts a la ligne et
l’indentation.
• Python vous force donc a écrire du code lisible, et à prendre
de bonnes habitudes que vous conserverez lorsque vous
utiliserez d’autres langages.

Slimani Nawel - Python 10


1 Structures de contrôle Blocs d’instructions

• Les blocs d’instructions sont


toujours associés à une
ligne d’en-tête se terminant
par un double point.
• Les blocs sont délimités par
l’indentation : toutes les
lignes d’un même bloc
doivent être indentées
exactement de la même
manière.

Slimani Nawel - Python 11


2 Les boucles

• Les boucles permettre d’exécuter plusieurs fois un bloc de


code, c’est-à-dire d’exécuter un code « en boucle » tant
qu’une condition donnée est vérifiée.
• Nous avons accès à deux boucles en Python :
– La boucle while (“tant que…”) ;
– La boucle for (“pour…”).

Slimani Nawel - Python 12


2 Les boucles for

• La boucle Python for possède une logique et une syntaxe


différente de celles des boucle for généralement rencontrées
dans d’autres langages.
• En effet, la boucle for Python va nous permettre d’itérer sur
les éléments d’une séquence (liste, chaine de caractères, etc.)
selon leur ordre dans la séquence.
Exemple:

Slimani Nawel - Python 13


2 Les boucles for

• La variable animal est appelée variable d’itération, elle prend


successivement les différentes valeurs de la liste animaux à
chaque itération de la boucle.
• Celle-ci est créée par Python la première fois que la ligne
contenant le for est exécutée.
• Une fois la boucle terminée, cette variable d’itération animal
ne sera pas détruite et contiendra ainsi la dernière valeur de
la liste animaux (ici la chaîne de caractères souris).
• le corps de la boucle for est le bloc d’instructions signalé par
l’indentation après les deux-points « : » à la fin de la ligne
débutant par for.

Slimani Nawel - Python 14


2 Les boucles for

• Dans l’exemple suivant, le corps de la boucle contient deux


instructions : print(animal) et print(animal*2).
• La ligne print("C'est fini") ne fait pas partie du corps de la
boucle car elle est au même niveau que le for.

Slimani Nawel - Python 15


2 Les boucles for

• Si on oublie l’indentation, Python renvoie un message d’erreur


:

Slimani Nawel - Python 16


2 Les boucles for

• Avec la boucle for on peut aussi itérer sur une tranche d’une
liste.

• la boucle for peut aussi itérer sur une liste d’entiers.

Slimani Nawel - Python 17


2 Les boucles Fonction range()

• La fonction range() est utilisée pour itérer sur une suite de


nombres

• Cette fonction permet de générer une suite de valeurs à partir


d’une certain nombre et jusqu’à un autre avec un certain pas
ou intervalle avec une boucle for.

Slimani Nawel - Python 18


2 Les boucles Fonction range()

• Dans son utilisation la plus simple, nous allons nous contenter


de passer un nombre en argument (entre les parenthèses)
de range().
• Dans ce cas, la fonction génèrera une suite de valeurs de 0
jusqu’à ce nombre – 1 avec un pas de 1. 
Exemple: range(5) génère les valeurs 0, 1, 2, 3 et 4.
• Si on précise deux nombres en arguments de cette fonction, le
premier nombre servira de point de départ pour la génération
de nombres tandis que le second servira de point d’arrivée
(en étant exclus). 
Exemple: range(5, 10) par exemple permet de générer les
nombres 5, 6, 7, 8 et 9.
Slimani Nawel - Python 19
2 Les boucles Fonction range()

• Finalement, on peut préciser un troisième et dernier nombre


en argument de range() qui nous permet de préciser son pas,
c’est-à-dire l’écart entre deux nombres générés. Ecrire 
Exemple: range(0, 10, 2) permet de générer les nombres 0, 2, 4,
6 et 8.

Slimani Nawel - Python 20


2 Les boucles While

• La boucle while va nous permettre d’exécuter un certain bloc


de code « tant qu’une » condition donnée est vérifiée.
• La syntaxe de la boucle while est la suivante :

• Littéralement, cette boucle signifie “tant que a stocke une


valeur strictement inférieure à 4, ajoute 1 à cette valeur puis
affiche la valeur de a”.

Slimani Nawel - Python 21


2 Les boucles While

• Avec l’instruction while, Python commence par évaluer la


validité de la condition fournie entre parenthèses (celles-ci
sont optionnelles).
– Si la condition se révèle fausse, alors tout le bloc qui suit
est ignore et l’exécution du programme se termine.
– Si la condition est vraie, alors Python exécute tout le bloc
d’instructions constituant le corps de la boucle, c’est-a-
dire:
• l’instruction a = a + 1
• l’appel de la fonction print() pour afficher la valeur
courante de la variable a.

Slimani Nawel - Python 22


2 Les boucles While

• lorsque ces deux instructions ont été exécutées, nous avons assiste
a une première itération, et l’exécution reprend a la ligne contenant
l’instruction while.
• La condition qui s’y trouve est a nouveau évaluée, et ainsi de suite.
• Dans notre exemple, si la condition a < 4 est encore vraie, le corps
de la boucle est exécuté une nouvelle fois et le bouclage se
poursuit.
Remarques:
• Si la condition est fausse au départ, le corps de la boucle n’est
jamais exécuté.
• Si la condition reste toujours vraie, alors le corps de la boucle est
répété indéfiniment.

Slimani Nawel - Python 23


3 Les tests Tests multiples

• Les tests multiples permettent de tester plusieurs conditions


en même temps en utilisant des opérateurs booléens.
• Les deux opérateurs les plus couramment utilisés sont le OU
et le ET.
• Voici un petit rappel sur le fonctionnement de l’opérateur OU
et ET:

OU ET

Slimani Nawel - Python 24


3 Les tests Tests multiples

• En Python, on utilise le mot réservé and pour l’opérateur ET et


le mot réservé or pour l’opérateur OU.

Slimani Nawel - Python 25


Instructions break et
3 Les tests
continue

• Ces deux instructions permettent de modifier le comportement


d’une boucle (for ou while) avec un test.
• L’instruction break stoppe la boucle.
• L’instruction continue saute à l’itération suivante, sans exécuter la
suite du bloc d’instructions de la boucle.

Slimani Nawel - Python 26


4 Exercices

Exercice 1:
• Écrivez un programme qui affiche les 20 premiers termes de la table
de multiplication par 7.
Exercice 2:
• Construisez une boucle qui parcourt les nombres de 0 à 20 et qui
affiche les nombres pairs inférieurs ou égaux à 10 d’une part, et les
nombres impairs strictement supérieurs à 10 d’autre part.
• Pour cet exercice, vous pourrez utiliser l’opérateur modulo % qui
renvoie le reste de la division entière entre deux nombres

Slimani Nawel - Python 27


4 Exercices

Exercice 3:
La liste ci-dessous représente la séquence d’un brin d’ADN :
["A","C","G","T","T","A","G","C","T","A","A","C","G"]
• Créez un script qui transforme cette séquence en sa séquence
complémentaire.
• Rappel : la séquence complémentaire s’obtient en remplaçant
A par T, T par A, C par G et G par C.

Slimani Nawel - Python 28

Vous aimerez peut-être aussi