Académique Documents
Professionnel Documents
Culture Documents
INF1007 : Introduction à la
programmation
Chapitre 5 – Structures de contrôle
Plan du cours
1. Structures conditionnelles
1. if, elif, else
2. Indentation
3. Instructions composées (imbriquées)
2. Structures de répétition
1. Boucle for et Boucle while
2. Else
3. Instructions break, continue et pass
4. Itérateurs et gestion de la mémoire
Structures de contrôle
Les structures de contrôle sont les groupes d'instructions
qui déterminent l'ordre dans lequel les actions sont
effectuées. En programmation moderne, il en existe
seulement trois :
1. la séquence (ex : chaînes de caractères, tuples et
listes) ;
2. la sélection (ex : instructions de condition) ;
3. la répétition (ex : boucles).
Instructions conditionnelles
1 if condition_booléenne:
2 bloc d’instructions
1 if condition_booléenne:
2 bloc d’instructions 1
3 else:
4 bloc d’instructions 2
Points importants:
• Le bloc d’instructions se répète
jusqu’à ce que la condition retourne
False ; c’est ce qu’on appelle un
critère d’arrêt.
• Le bloc d’instructions doit contenir
un mécanisme pour déclencher ce
critère d’arrêt.
1 a, b, c = 1, 1, 1
2 # a & b servent au calcul des termes successifs
3 # c est un simple compteur
4
5 print(b) # affichage du premier terme
6 while c<15: # nous afficherons 15 termes au total
7 a, b, c = b, a+b, c+1
8 print(b)
1 for i in range(5):
Autres utilisations de range:
2 print(i)
range(2, 10)
range(1, 10, 2)
1 a = 'INF1007'
range(100, 10, -5)
2 for i in range(len(a)):
range(start, stop[, step])
3 print(i, a[i])
1 print("Bonjour!")
2 for lettre in 'Python':
Permet de passer
3 if lettre == 'h':
à l’itération suivante
4 continue
5 print('Ceci est le bloc "continue".')
6 print('Lettre lue :', lettre)
7
8 print("Aurevoir!")
1 print("Bonjour!")
2 for lettre in 'Python':
3 if lettre == 'h': Permet de ne rien faire
4 pass
dans le « if »
5 else:
6 print('Lettre lue :', lettre)
7
8 print("Aurevoir!")
Itertools
Le module itertools implémente de nombreuses briques d’itérateurs.
Voici quelques exemples :
Itérateurs infinis
Itertools - exemple
1 from itertools import count, cycle
2 sequence = count(start=0, step=1)
3 while(next(sequence) <= 10):
4 print(next(sequence))
5
6 dessert = cycle(['Glace', 'Gateau'])
7 count = 0
8 while(count != 4):
9 print('Que mange-t-on aujourd\'hui? ' + next(dessert))
10 count += 1
Exercices
1. Écrire un programme qui lit un nombre et affiche sa valeur absolue.
2. Dans un conte américain, huit petits canetons s'appellent
respectivement : Jack, Kack, Lack, Mack, Nack, Oack, Pack et
Qack. Écrivez un petit script qui génère tous ces noms à partir des
deux chaînes suivantes : prefixes = 'JKLMNOP' et suffixe = 'ack’
3. Écrire un programme qui affiche la somme des 100 premiers
nombres entiers premiers.
4. Écrire un programme qui calcule le factoriel d’un nombre demandé
à l’utilisateur.
5. Utilisez l’instruction continue pour modifier une boucle for
d’affichage de tous les entiers de 1 à 10 compris, sauf lorsque la
variable de boucle vaut 5.