Cours Python S1.3 (1)
Cours Python S1.3 (1)
Cours Python S1.3 (1)
Som m aire
Python – Tests & Boucles ....................................................................................................................................... 1
1. Structures conditionnelles .......................................................................................................................... 2
1.1 Définition............................................................................................................................................... 2
1.2 Tests à plusieurs cas .............................................................................................................................. 2
1.3 Tests multiples ....................................................................................................................................... 3
2. Structures répétitives .................................................................................................................................. 3
2.1 Boucles for ............................................................................................................................................ 3
2.2 Boucles while ........................................................................................................................................ 4
3. Exercices .................................................................................................................................................... 5
Informatique - EMINES – Université Mohamed 6
1. Structures conditionnelle s
1.1 D éfinition
Les tests (Structures conditionnelles) sont un élément essentiel à tout langage informatique si on
veut lui donner un peu de complexité car ils permettent à l’ordinateur de prendre des décisions si telle
ou telle condition est vraie ou fausse. Pour cela, Python utilise l’instruction if ainsi qu’une
comparaison que nous avons abordée au chapitre précédent. Voici un premier exemple :
>>> x = 2
>>> if x == 2:
... print("Le test est vrai !")
...
Le test est vrai !
et un second :
>>> x = "kamal"
>>> if x == "amine":
... print("Le test est vrai !")
...
R em arques :
Dans le premier exemple, le test étant vrai, l’instruction print("Le test est vrai !") est
exécutée. Dans le second exemple, le test est faux et rien n’est affiché.
Les blocs d’instruction dans les tests doivent forcément être indentés. L’indentation indique la
portée des instructions à exécuter si le test est vrai.
L’instruction if se termine par le caractère :
On peut utiliser une série de tests dans la même instruction if, notamment pour tester plusieurs
valeurs d’une même variable. Par exemple, on se propose de tirer au sort une base d’ADN puis
d’afficher le nom de cette dernière. Dans le code suivant, nous utilisons
l’instruction random .choice(liste) qui renvoie un élément choisi au hasard dans une liste.
>>> import random
>>> base = random.choice(["a", "t", "c", "g"])
>>> if base == "a":
... print("choix d'une adénine")
... elif base == "t":
... print("choix d'une thymine")
... elif base == "c":
... print("choix d'une cytosine")
... elif base == "g":
... print("choix d'une guanine")
...
Informatique - EMINES – Université Mohamed 6
Dans cet exemple, Python teste la première condition, puis, si et seulement si elle est fausse, teste la
deuxième et ainsi de suite… Le code correspondant à la première condition vérifiée est exécuté puis
Python sort du if.
Vous pouvez aussi tester directement l’effet de ces opérateurs à l’aide de True et False (attention à
respecter la casse).
>>> True or False
True
Enfin, on peut utiliser l’opérateur logique de négation not qui inverse le résultat d’une condition :
>>> not True
False
>>> not False
True
>>> not (True and True)
False
2. Structures répétitives
Principe
En programmation, on est souvent amené à répéter plusieurs fois une instruction. Incontournables à
tout langage de programmation, les boucles vont nous aider à réaliser cette tâche de manière
compacte. Imaginez par exemple que vous souhaitiez afficher les éléments d’une liste les uns après les
autres. Dans l’état actuel de vos connaissances, il faudrait taper quelque chose du style :
employes = ['ali','amine','safa','kamal']
print(employes[0])
print(employes[1])
print(employes[2])
print(employes[3])
Si votre liste ne contient que quatre éléments, ceci est encore faisable mais imaginez qu’elle en
contienne 100 voire 1000 ! Pour remédier à cela, il faut utiliser les boucles. Regardez l’exemple suivant
:
>>> employes = ['ali','amine','safa','kamal']
>>> for employé in employes:
... print(employé)
...
ali
amine
safa
kamal
Fonction range()
Python possède la fonction range() que nous avons rencontrée précédemment dans le chapitre sur
les Listes et qui est aussi bien commode pour faire une boucle sur une liste d’entiers de manière
automatique :
>>> for i in range(4):
... print(i)
...
0
1
2
3
Toutefois, il se peut qu’au cours d’une boucle vous ayez besoin des indices, auquel cas vous n’avez pas
le choix que d’itérer sur les indices. Par exemple :
>>> employes = ['ali','amine','safa','kamal']
>>> for i in range(len(employes)):
... print("L'employé {} est un(e) {}".format(i, employes[i]))
...
L'employé 0 est un(e) ali
L'employé 1 est un(e) amine
L'employé 2 est un(e) safa
L'employé 3 est un(e) kamal
Remarquez qu’il est encore une fois nécessaire d’indenter le bloc d’instructions correspondant au corps
de la boucle (ici 2 instructions).
Une boucle while nécessite généralement trois élém ents pour fonctionner correctement :
l’initialisation de la variable de test avant la boucle ;
le test de la variable associé à l’instruction while ;
la mise à jour de la variable de test dans le corps de la boucle.
Faites bien attention aux tests et à l’incrémentation que vous utilisez car une erreur mène souvent à
des boucles infinies, c’est-à-dire qui ne s’arrêtent jamais. Vous pouvez néanmoins toujours stopper
l’exécution d’un script Python à l’aide de la combinaison de touches Ctrl-C. Par exemple :
i = 0
while i < 10:
print("Le python c'est cool !")
Ici nous avons omis de mettre à jour la variable i, ainsi la boucle ne s’arrêtera jamais (sauf en pressant
Ctrl-C) puisque la condition i < 10 sera toujours vraie.
3. Exercices
Exercice 1 :
1. Donner le résultat obtenu à l’exécution de ce code Python :
>>> a = 0
>>> while (a < 7): # (n'oubliez pas le double point !)
... a = a + 1 # (n'oubliez pas l'indentation !)
... print (a)