Programmation python
Chapitre 2
Public :MPSI
Année Scolaire: 2024-2025 1
Plan du cours
Chapitre 1 : Introduction à Python et à son environnement & les types simples
Chapitre 2 : Instructions conditionnelles et itératives
Chapitre 3 : Les fonctions et modules
Chapitre 4 : Listes, chaines de caractères et dictionnaires
Chapitre 5 : Algorithmes classiques de Recherche et de Tris
Chapitre 6 : Les fichiers
Chapitre 7 : Introduction aux bibliothèques scientifiques
Année Scolaire: 2024-2025 2
Instructions itératives
Les structures répétitives
Il arrive souvent dans un programme qu'une même action soit répétée
plusieurs fois.
• Ecrire un programme qui permet d’afficher le mot ‘’bonjour’’ 50 fois.
50 : nombre de répétition (itération).
Le traitement à répéter le mot ‘’Bonjour’’.
• Pour gérer ces cas, on utilise des boucles qui ont pour effet de répéter
plusieurs fois une même instruction.
• Deux formes existent : la première, si le nombre de répétitions est connu
avant l'exécution, la seconde s'il n'est pas connu.
Année Scolaire: 2024-2025 3
Structures itératives
Année Scolaire: 2024-2025 4
Structures itératives
La structure répétitive for
La structure répétitive for permet de répéter une liste d’instructions un
nombre connu de fois.
Et si on a besoin d’afficher ou de manipuler des valeurs (de 0 à n par exemple)
on utilise la fonction range
Année Scolaire: 2024-2025 5
Structures itératives
La structure répétitive for
Année Scolaire: 2024-2025 6
Structures itératives
La structure répétitive for
Pour manipuler des valeurs (de 0 a 4 par exemple) on utilise la fonction range(5)
Exemple:
Résultat:
Année Scolaire: 2024-2025 7
Structures itératives
La structure répétitive for
Exemple:
Année Scolaire: 2024-2025 8
Structures itératives
La structure répétitive for
Exemple:
Année Scolaire: 2024-2025 9
Structures itératives
La structure répétitive for
Exemple : Afficher 10 fois ’’Bonjour tout le monde’’
Année Scolaire: 2024-2025 10
Structures itératives
La structure répétitive for
Exemple1 : Ecrire un programme [Link] qui affiche les nombres entiers entre 0 et
20.
for i in range(21): # range(21) génère les nombres de 0 à 20
print(i)
Exemple2 : Ecrire un programme [Link] qui affiche les nombres pairs entre 0
et 20?.
for i in range(21): # range(21) génère les nombres de 0 à 20
if i % 2 == 0: # Vérifie si le nombre est divisible par 2
print(i)
Année Scolaire: 2024-2025 11
Structures itératives
La structure répétitive for
Exemple3 :Écrive un programme en Python qui demande à l'utilisateur un nombre entier n
et un autre entier m, puis affiche les m premiers multiples de n.
# Demande à l'utilisateur d'entrer un nombre
n = int(input("Entrez un nombre : "))
m = int(input("Entrez le nombre de multiples : "))
# Boucle for pour afficher les multiples
for i in range(1, m + 1):
print(f"{n} x {i} = {n * i}")
Année Scolaire: 2024-2025 12
Structures itératives
La structure répétitive while
la condition (dite condition de contrôle de la boucle) est évaluée à chaque itération.
Les instructions (corps de la boucle) sont exécutés tant que la condition est vraie, on
sort de la boucle dès que la condition devient fausse.
Attention aux boucles infinies, vérifier que la condition d'arrêt sera bien atteinte
après un certain nombre d'itérations
Année Scolaire: 2024-2025 13
Structures itératives
La structure répétitive while
Pour manipuler des valeurs (de 0 a 4 par exemple) on peut utiliser aussi la Boucle while.
Année Scolaire: 2024-2025 14
Structures itératives
La structure répétitive while
Exemple 1: Écrire un programme qui demande un entier positif, et le rejette tant que le
nombre saisi n’est pas conforme.
N= float(input("Entrez un nombre positif"))
while (N < 0):
N=float(input("Entrez un nombre positif"))
print(N, "est positif")
Année Scolaire: 2024-2025 15
Structures itératives
La structure répétitive while
Pour manipuler des valeurs (de 0 a 4 par exemple) on peut utiliser aussi la Boucle while.
end= : Modifier la fin d’un print
Par défaut, print() termine chaque affichage
avec un saut de ligne (\n).
Avec end=, on peut changer ce
comportement.
Année Scolaire: 2024-2025 16
Structures itératives
La structure répétitive while
i=0
while (i < 5):
print(i)
if i==2:
break : Interruption de la boucle
break
break permet de sortir immédiatement d'une boucle
i+=1
(for ou while), même si la condition de la boucle est
encore vraie.
Année Scolaire: 2024-2025 17
Structures itératives
La structure répétitive while
i=0
i=0
while (i < 5):
while (i < 5):
i+=1
print(i)
if i==2:
continue : Passer à l’itération if i==2:
continue suivante continue
print(i) continue permet de sauter
l’exécution du reste du code pour i+=1
une itération et passer
directement à la suivante.
Année Scolaire: 2024-2025 18
Structures itératives
i=0
while (i < 5): # Tant que i est inférieur à 5, la boucle continue
print(i) # Affiche la valeur actuelle de i
if i == 2: # Si i vaut 2 : Pour éviter la
continue # Passe directement à l'itération suivante boucle infinie, il
faut incrémenter i
i += 1 # Incrémente i avant le continue
Problème dans le Code :
Lorsque i == 2, l’instruction continue est exécutée.
continue force la boucle à sauter directement à l’itération suivante sans exécuter les
instructions suivantes, y compris l'incrémentation (i += 1).Cela signifie que i restera
toujours égal à 2 après ce point.
Comme i n'augmente plus, la condition while (i < 5) restera toujours vraie, entraînant
une boucle infinie.
Année Scolaire: 2024-2025 19
Structures itératives
Conseil : Utilisez break pour arrêter une boucle, continue pour ignorer une itération, et
end= pour formater la sortie d'affichage !
Année Scolaire: 2024-2025 20
Structures itératives
Exercice :
Écrivez un programme en Python qui demande à l’utilisateur de
saisir deux nombres a et b (avec a < b). Le programme doit
afficher le premier multiple de 7 trouvé dans cet intervalle.
Si aucun multiple de 7 n'est trouvé, affichez "Aucun multiple
trouvé".
Année Scolaire: 2024-2025 21
Solution avec while :
# Demande des bornes à l'utilisateur
a = int(input("Entrez la valeur de a : "))
b = int(input("Entrez la valeur de b : "))
# Initialisation de la variable de boucle
i=a
# Parcours de l'intervalle avec while
while i <= b:
if i % 7 == 0: # Vérifie si i est un multiple de 7
print(f"Le premier multiple de 7 dans l'intervalle est : {i}")
break # Arrête la boucle dès qu'on trouve un multiple
i += 1
else:
print("Aucun multiple trouvé")
Année Scolaire: 2024-2025
22
Solution avec for
# Demande des bornes à l'utilisateur
a = int(input("Entrez la valeur de a : "))
b = int(input("Entrez la valeur de b : "))
# Utilisation de for pour parcourir l'intervalle
for i in range(a, b + 1):
if i % 7 == 0:
print(f"Le premier multiple de 7 dans l'intervalle est : {i}")
break # Arrête la boucle dès qu'un multiple est trouvé
else:
print("Aucun multiple trouvé")
23
Année Scolaire: 2024-2025
Les structures répétitives BOUCLE IMBRIQUEE
Une boucle imbriquée est une boucle placée à l’intérieur d’une autre boucle. Cela permet de
parcourir des structures complexes comme des matrices ou d’effectuer des répétitions multiples.
Exemple
for i in range(5):
for j in range(4):
print(i,j)
Année Scolaire: 2024-2025 24
Les structures répétitives BOUCLE IMBRIQUEE
Exemple 1 : Écrivez un programme qui affiche un tableau de multiplication pour les
nombres de 1 à 3 en utilisant des boucles for imbriquées.
La boucle externe (i)
for i in range(1, 4): # Boucle externe (lignes) contrôle les lignes.
La boucle interne (j)
for j in range(1, 4): # Boucle interne (colonnes)
contrôle les colonnes.
print(i * j, end=" ") # Affiche le produit end=" " permet
d'afficher les valeurs sur
print() # Saut de ligne après chaque ligne
la même ligne
Année Scolaire: 2024-2025 25
Les structures répétitives BOUCLE IMBRIQUEE
Exemple 2 : Écrivez un programme qui affiche un triangle d’étoiles avec n lignes
(par défaut n = 5) en utilisant des boucles while imbriquées.
n=5
i=1
while i <= n: # Boucle pour les lignes La boucle externe
contrôle le nombre de
j=1
lignes.
while j <= i: # Boucle pour les colonnes La boucle interne
contrôle le nombre
print("*", end=" ") d’étoiles affichées sur
chaque ligne.
j += 1
print() # Saut de ligne
i += 1
Année Scolaire: 2024-2025 26
Les structures répétitives BOUCLE IMBRIQUEE
Exemple 3 : Ecrire un programme permettant d’imprimer le triangle suivant
n = int(input("Entrez le nombre de lignes : "))
for i in range(1, n + 1):
for j in range(1, i + 1):
print(j, end=" ")
print()
Année Scolaire: 2024-2025 27
Les structures répétitives BOUCLE IMBRIQUEE
for i in range(1, 10):
Exemple 4 : Ecrire un programme qui for j in range(1, 10):
print(f"{i * j}", end=" ")
affiche les 9 tables de multiplication pour print()
les entiers de 1 à 9. Chaque table comporte
# Parcours des tables de 1 à 9
9 éléments, sous la forme suivante: for i in range(1, 10): # Boucle externe
print(f"Table de {i} :")
for j in range(1, 10): # Boucle interne
print(f"{i} x {j} = {i * j}")
print() # Ligne vide pour séparer les tables
i=1
while i <= 9: print(f"Table de {i} :")
j=1
while j <= 9:
print(f"{i} x {j} = {i * j}")
j += 1
print()
i += 1 28