0% ont trouvé ce document utile (0 vote)
6 vues18 pages

PythonSlides 4 While

Ce document présente les boucles while en Python, expliquant leur fonctionnement, syntaxe, et divers concepts tels que les compteurs, accumulateurs et boucles imbriquées. Il fournit également des exemples pratiques pour illustrer l'utilisation des boucles tout en mettant en garde contre les boucles infinies. Enfin, il aborde l'initialisation des variables et l'utilisation de drapeaux pour des conditions booléennes.

Transféré par

Vault Main
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
6 vues18 pages

PythonSlides 4 While

Ce document présente les boucles while en Python, expliquant leur fonctionnement, syntaxe, et divers concepts tels que les compteurs, accumulateurs et boucles imbriquées. Il fournit également des exemples pratiques pour illustrer l'utilisation des boucles tout en mettant en garde contre les boucles infinies. Enfin, il aborde l'initialisation des variables et l'utilisation de drapeaux pour des conditions booléennes.

Transféré par

Vault Main
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Introduction à l'algo. et prog.

en Python

THÈME 4:
BOUCLES WHILE

2019 41 / 160
Introduction au while Introduction à l'algo. et prog. en Python

No7on du thème:
• Boucle while :
– Fonctionnement et syntaxe
– Compteur de boucle
– Accumulateur et drapeau
– Boucles imbriquées

2019 42 / 160
Introduction au while Introduction à l'algo. et prog. en Python

Fonctionnement et syntaxe
• But: répéter des instruc<ons jusqu'à ce qu'une
condi<on change.
• Syntaxe:
while condition:
instructions
suite_du_programme
• Les instructions seront répétées tant que
condition est vraie.
Lorsque que condition devient fausse, on exécute
suite_du_programme.

2019 43 / 160
IntroducDon au while Introduction à l'algo. et prog. en Python

Exemple: division de A par B


Un programme qui demande un entier A, puis un entier B
jusqu’à ce que celui-ci soit non-nul, puis qui calcule le
quotient de A par B.

a = int(input("Donnez la valeur de A : "))


b = int(input("Donnez la valeur de B : "))
while b == 0 :
b = int(input("B est nul! Recommencez : "))
print("A / B = ", a // b)

Note: si b est non-nul dès le premier essai, on n’entre pas dans le while.

2019 44 / 160
Introduction au while Introduction à l'algo. et prog. en Python

Attention aux boucles infinies!


Si la condition de la boucle while ne devient jamais fausse,
le programme boucle indéfiniment:
Exemple 1:
n=5
while n<10 :
print("n vaut :", n)
print("Fin")

Exemple 2:
while True :
print("Je boucle.")
print"("Fin")
2019 45 / 160
Compteur de boucle Introduction à l'algo. et prog. en Python

Compteur de boucle
• Sert à compter combien de fois l’on passe dans la
boucle (ou un nombre qui dépend de cela)

b = int(input("Donnez un entier b non-nul:"))


n = 0 # n est le compteur de boucle
while b==0:
n=n+1
b=int(input("Incorrect, recommencez: "))
print("Merci, il vous a fallu ", n , "essais
supplémentaires.")

Important: Toujours pensez à initialiser le compteur!

2019 46 / 160
Compteur de boucle Introduction à l'algo. et prog. en Python

Compteur de boucle: exemples


• On peut se servir du compteur dans la condi>on.

i = 0 # variable compteur
while i<10:
print( 2 ** i ) # 2 puissance i
i = i + 1 # incrémenter notre compteur
print("Fin")

Le pas = augmenta>on du compteur à chaque étape


Ici le pas est égal à 1.

2019 47 / 160
Compteur de boucle Introduction à l'algo. et prog. en Python

Compteur de boucle: exemples


• On peut utiliser un pas différent de 1 (même négatif)

i = 0 # variable compteur
while i<100:
print(i)
i = i + 2
print("Fin")

Ici le pas = 2

2019 48 / 160
Compteur de boucle Introduction à l'algo. et prog. en Python

Compteur de boucle: exemples


• On peut u=liser un pas différent de 1 (même néga=f)

i = 10 # variable compteur
while i>0:
print(i)
i = i - 1
print("Fin")

Ici, pas: -1

2019 49 / 160
Accumulateur et drapeau Introduction à l'algo. et prog. en Python

Variable "accumulateur"
• Pour stocker des informa=ons sur les valeurs parcourues,
par exemple la somme:
i=1
somme = 0 # initialement, la somme est égale à 0
while i <= 10 :
somme = somme + i
# chaque valeur de i est rajoutée à la somme
#(accumulation)
i = i + 1
# ne jamais oublier de mettre à jour le compteur
print("La somme des 10 premiers entiers est : ", somme)

2019 50 / 160
Accumulateur et drapeau Introduction à l'algo. et prog. en Python

Initialisation de « l’accumulateur »

1. Attention à ne pas l’oublier


2. Utiliser l'élément neutre de l’opération
– Pour l'addition entre nombres: 0 (car x+0=x)
– Pour la multiplication entre nombres: 1 (car x*1=x)
– Pour la concaténation entre str: "" (chaîne vide)
(car ""+"bonjour"="bonjour")

2019 51 / 160
Accumulateur et drapeau Introduction à l'algo. et prog. en Python

Variable « drapeau »
• Un accumulateur booléen est appelé drapeau.
• Exemple: lire 10 enCers et vérifier qu'ils sont tous impairs:
i=0
tous_impairs = True
while i < 10:
x = int(input("Entrez un entier:"))
tous_impairs = tous_impairs and (x % 2 != 0)
i=i+1
if tous_impairs:
print("Tous les nombres entrés sont impairs")
else:
print("Au moins un nombre entré n’était pas impair")

2019 52 / 160
Accumulateur et drapeau Introduction à l'algo. et prog. en Python

Initialisation d’un « drapeau »


• U;liser l’élément neutre des opéra;ons
booléennes
– Pour un ET: True
car True and b vaut b
– Pour un OU : False
car False or b vaut b

2019 53 / 160
Boucles imbriquées Introduction à l'algo. et prog. en Python

Boucles imbriquées
• Un instruction d’une boucle while peut être
une boucle while
Ex : résultat produit par ce programme ?
i = 1
while i <= 3 :
j = 1
while j <= 2 :
print(i, ", ", j)
j = j + 1
i = i + 1

2019 54 / 160
Boucles imbriquées Introduction à l'algo. et prog. en Python

Résultat :
1, 1
1, 2
2, 1
2, 2
3, 1
3, 2

2019 55 / 160
Boucles imbriquées Introduction à l'algo. et prog. en Python

Exemple d’application
On veut écrire un programme qui affiche un « carré » de n x n
fois le caractère ‘*’. L’uGlisateur choisit le côté n du carré.

Exemple de résultat :

Entrez la valeur de n : 5
*****
*****
*****
*****
*****

2019 56 / 160
Boucles imbriquées Introduction à l'algo. et prog. en Python

Correc7on
n = int(input("Entrez la valeur de n : "))
num_lig = 0 # compteur de ligne
while num_lig < n :

num_col = 0 #cpt nb etoiles de la ligne

while num_col < n :


print("*", end="") # /!\ end
num_col = num_col + 1
print() # saut de ligne

num_lig = num_lig + 1 # passer ligne suivante

2019 57 / 160
Introduction à l'algo. et prog. en Python

• Ces slides ont été réalisés par:


– Amir Charif
– Lydie Du Bousquet
– Aurélie Lagoutte
– Julie Peyre
• Leur contenu est placé sous les termes de la
licence Creative Commons CC BY-NC-SA

2019 156 / 160

Vous aimerez peut-être aussi