12 Exos Boucle While
Exercices à programmer⚓︎
Les 7 premiers exercices sont à faire sur Capytale.
Fiche d'exercices Python 12 boucle While sur Capytale
ou en vous connectant directement sur ENT >
caPYTale et en saisissant le numéro d'activité :
829d-7783029
Exercice 1⚓︎
Voici un programme permettant d’afficher les carrés et les cubes des \(20\) premiers entiers naturels non nuls. Réécrivez-le avec une boucle while à la place de la boucle for.
for n in range(1, 21):
print("Le carré de " + str(n) + " est : " + str(n**2) + ".")
print("Le cube de " + str(n) + " est : " + str(n**3) + ".")
Exercice 2⚓︎
Voici un programme permettant d’afficher toutes les tables de multiplication de \(0\) à \(10\). Réécrivez-le avec des boucles while à la place des boucles for.
for k in range(0,11,1):
print("Table de " + str(k) + " : ")
for j in range(0,11,1):
print(k," *",j," =",k*j)
print()
Exercice 3⚓︎
Écrire un programme qui affiche une table de conversion des sommes d’argent exprimées en euros et en francs suisses. La progression des valeurs sera géométrique comme dans l’exemple ci-dessous :
1 CHF = 1,07 EUR
2 CHF = 2,14 EUR
3 CHF = 3,21 EUR
4 CHF = 4,144 EUR
On s’arrêtera lorsqu'on aura dépassé 4000 euros. Ne pas déterminer le nombre de tours de boucles.
Exercice 4⚓︎
Écrire un programme qui affiche une suite de nombres dont chaque terme est égal au triple du précédent. On part avec nb = 2, et on s'arrête lorsqu'il dépasse \(1\) million.
Exercice 5⚓︎
Modifier le programme ci-dessous afin de s'assurer que l'utilisateur ne choisisse que des nombres entiers entre 0 et 10 (s'il joue autre chose, on lui redemande de saisir 𝑥 et 𝑦).
a, b = 4, 7
print("À vous de jouer")
x = int(input("x ? "))
y = int(input("y ? "))
if x == a and y == b:
print("Coulé")
else:
if x == a or y == b:
print("En vue")
else:
print("À l'eau")
Exercice 6⚓︎
Modifier le programme ci-dessous afin de permettre à l’utilisateur de rejouer s’il le souhaite.
a, b = 4, 7
print("À vous de jouer")
x = int(input("x ?"))
y = int(input("y ?"))
if x == a and y == b:
print("Coulé")
else:
if x == a or y == b:
print("En vue")
else:
print("À l'eau")
Exercice 7⚓︎
Expérimenter avec la conjecture de Syracuse :
On part d'un nombre strictement positif ; s'il est pair, on le divise par 2 ; s'il est impair, on le multiplie par 3 et on ajoute 1. On s'arrête dès que l'on atteint 1.
La conjecture de Syracuse annonce qu'on finira par atteindre 1 pour n'importe quel entier de départ (mais attention, ça peut être long, et bloquer l'ordinateur).
Écrire une fonction qui prend en paramètre un entier \(n\), et qui fait affiche les termes successifs de cette suite jusqu'à ce qu'elle s'arrête. Tester avec quelques valeurs.
Exercices sur la terminaison des boucles While⚓︎
Pour chaque exercice ci-dessous, déterminer, en justifiant, si la boucle while se termine ou non. Si elle ne se termine pas, proposer une modification pour la faire terminer.
Exercice 8⚓︎
y = 5
while y > 0:
print(y)
y = y + 1
Exercice 9⚓︎
z = 100
while z != 0:
print(z)
z = z - 2
Exercice 10⚓︎
a = 1
while a < 10:
print(a)
a = a * 2
Exercice 11⚓︎
b = 0
while b < 15:
if b % 2 == 0:
print(b)
b = b + 1
Exercice 12⚓︎
b = 0
while b < 15:
if b % 2 == 0:
print(b)
b = b + 1