Menu
CoddyTech

Boucle while

Fait partie de la section Fondamentaux du Journey GDScript de Coddy. Leçon 44 sur 92.

Une boucle for s’exécute une fois pour chaque nombre d’une plage. Une boucle while continue de s’exécuter tant qu’une condition est true :

var count := 3
while count > 0:
	print(count)
	count -= 1
print("Go!")
3
2
1
Go!

La condition est vérifiée avant chaque itération. Lorsque count devient 0, count > 0 vaut false, donc la boucle s’arrête et le programme continue après celle-ci. Si la condition est false dès le départ, le bloc ne s’exécute jamais.

Le bloc doit modifier quelque chose dont dépend la condition. Ici, count -= 1 rapproche count de 0. Sans cela, la condition resterait true et la boucle ne se terminerait jamais.

Utilisez while lorsque vous ne savez pas à l’avance combien d’itérations sont nécessaires. Par exemple, ce code trouve la plus petite puissance de 2 supérieure à 27 :

var number := 27
var power_of_two := 1
while power_of_two <= number:
	power_of_two *= 2
print(power_of_two)

power_of_two double à chaque itération : 2, 4, 8, 16, 32. À 32, power_of_two <= number vaut false, donc le programme affiche 32.

challenge icon

Défi

Facile

Le programme lit un nombre décimal dans number.

Utilise une boucle while pour diviser number par 2 tant qu’il est supérieur ou égal à 3.5. Affiche ensuite le résultat, qui est la première valeur inférieure à 3.5.

Par exemple, pour l’entrée 15, les valeurs sont 15, 7.5, 3.75 et 1.875, le programme affiche donc :

1.875

Si l’entrée est déjà inférieure à 3.5, affiche-la sans la modifier. N’utilise pas de boucle for.

Essayez vous-même

extends Node

func _ready():
	var number := float(OS.read_string_from_stdin())
	# Divise number par deux tant qu’il est supérieur ou égal à 3.5, puis affiche-le
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux

Entraînez-vous par vous-même : Compilateur GDScript en ligne