On considère le programme suivant :
\verb!a = 2!
\verb!while a < 10:!
\verb!a = a*a!
\verb!print(a)!
On suppose que l'utilisateur lance le programme.
Que va-t-il se passer ?
Le programme calcule les puissances successives de deux et s'arrête dès qu'elles dépassent 10. La première puissance de 2 à être supérieure à 10 est 16.
Le programme va retourner la valeur 16.
On considère le programme suivant :
\verb!a = 5!
\verb!while type(a/2) == int:!
\verb!a = a/2!
\verb!print('Divisible')!
\verb!return False!
On suppose que l'utilisateur lance le programme.
Que va-t-il se passer ?
Le programme vérifie si le nombre est divisible par deux de façons successives. Comme 5 n'est pas divisible par 2, on n'entre pas dans la boucle.
Le programme va retourner \verb!False!.
On considère le programme suivant :
\verb!a = 240!
\verb!cpt = 0!
\verb!while a > 7:!
\verb!cpt = cpt+1!
\verb!a = a//2!
\verb!print(cpt)!
On suppose que l'utilisateur lance le programme.
Que va-t-il se passer ?
Le programme calcule les quotients entiers successifs de 240 par 2 et retourne la valeur du compteur de division. Il s'arrête dès que le quotient est inférieur ou égal à 7, ce qui arrive à la 5e itération.
Le programme va retourner la valeur 5.
On considère le programme suivant :
\verb!cpt = 0!
\verb!while cpt >= 0:!
\verb!cpt = cpt+1!
\verb!return cpt!
On suppose que l'utilisateur lance le programme.
Que va-t-il se passer ?
Le programme vérifie chaque fois que \verb!cpt! soit supérieur ou égal à 0, ce qui est toujours le cas comme on l'incrémente de 1 à chaque passage.
Le programme ne va jamais s'arrêter.
On considère le programme suivant :
\verb!lst = input('Saisir une liste de nombres entiers.')!
\verb!i = 0!
\texttt{while lst[i]!=5 and i<len(lst):}
\verb!i = i+1!
\verb!return i!
On suppose que l'utilisateur lance le programme et rentre la liste \verb![1, 2, 3, 4, 5]!.
Que va-t-il se passer ?
Le programme va retourner l'indice de la liste correspondant au nombre égal à 5. La numérotation commençant à 0 en Python, 5 correspond au 4e indice.
Le programme va retourner la valeur 4.