Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

1) Boucle while ou boucle tant que

1) Boucle while ou boucle tant que

a) Présentation

La boucle while est une procédure s’écrivant sous la forme :

Initialisation while condition: # deux points obligatoire instructions # instructions indentées
instruction # non indentée, en dehors de la boucle
s=0i=1\begin{aligned} & s=0 \\ & i=1 \end{aligned}
while s<100 : s=s+1s=s+1
print('i = ',i)

Tant que condition est réalisée, le programme effectue la suite d’instructions. Si la condition est fausse au départ, le corps de la boucle (partie indentée : à l’intérieur) n’est jamais exécuté L’instruction i=i+1i=i+1 est une incrémentation

b) Initialisation : ***

Les variables sur lesquelles porte le test doivent avoir reçues une valeur avant le premier test.

c) Boucle infinie :

La boucle doit se terminer : pas de boucle infinie. Les variables sur lesquelles portent le test doivent être réévaluées à chaque passage dans la boucle.

d) Arrêt : En cas de boucle infinie !

Pour arrêter l’exécution d’un programme, utiliser shell interrupt

e) Exemple avec deux tests logiques

n=input("donnez un entier entre 0 et 9 : n = ? ") # n type string
n=int(n)
while n>9 or n<0 :
n=input("donnez un entier entre 0 et 9")
n=int(n)
print(n)

2) Boucle for :

a) Présentation

La boucle for permet d’exécuter un nombre prédéfini de fois une instruction ou une séquence d’instructions. La syntaxe est la suivante : on utilise le test d’appartenance in

for variable in liste : instructions # bloc identé>>> for i ir [1,2,5,6]: print(i)
1 2 5 6

La variable prend successivement toutes les valeurs de la liste et la séquence d’instructions est exécutée pour chaque valeur de cette liste. La liste de valeurs est donnée explicitement ou définie à l’aide d’une fonction range.

b) range : formation d’un itérable

range(start, stop[, step]) : start stop step : entiers relatifs
>>> for i in range (1,10): print (i, end=" ")>>> for i in range (1,10,2): print(i,end=“-”)for i in range (10,0,-1): print(i,end=“-”) 1098765432110-9-8-7-6-5-4-3-2-1-

Remarque d’affichage : end=\quad e n d= "- " impose un séparateur espace entre les print

c) Exemples de codes

Calcul de n !
n=int (input ('entrer un nombre entier = 1{ }^{1} )) p=1\mathrm{p}=1
for kk in range ( 1,n+11, n+1 ):
p=pk;\mathrm{p}=\mathrm{p}^{*} \mathrm{k} ;
print('le résultat est : '. p)
Somme des éléments d’une liste
L=[1,4,8,58,2]\mathrm{L}=[1,4,8,58,2]
s=0
for val in L:
s+=val
print(s)

| Somme des entiers de 1 à 9 | Somme des entiers de 1 à 9
s=0\mathrm{s}=0
for i in range(1,10):
s=s+is=s+i
print('s = ',s) |