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.
Défi
FacileLe 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.875Si 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
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
4Opérateurs, partie 1
Opérateurs arithmétiquesDivision entièreOpérateur moduloRaccourcis arithmétiquesRécapitulatif – calculs simplesOpérateurs de comparaison7Entrées/sorties de base
SortieSortie avec des variablesFormatage des chaînesEntréeConversion de typeRécapitulatif - Jusqu’à 120Récapitulatif - Vrai ou faux10Fonctions
Déclarer une fonctionArgumentsValeur de retourTypes de retourRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validationValeurs par défaut5Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 3Opérateur ternaire8Calculateur de partage de l’addition
Message de bienvenueSaisie des données11FizzBuzz avec une touche originale
Présentation du jeuLa fonction FizzBuzz14Tableaux : notions avancées
Découpage des tableauxOpérateurs de séquenceAppartenanceTrier et inverser3Variables, partie 2
Déclaration de typeInférence de typeConstantesRécapitulatif - Initialiser les variablesConversion de type6Prise de décision
Instruction ifIf - ElseRécapitulatif - Calculatrice simpleIf - Else imbriquésInstruction match9Boucles
Boucle forBoucle whileBreakContinueRécapitulatif - FactorielleLa fonction rangeBoucle imbriquéeRécapitulatif - Saisie dynamiqueEntraînez-vous par vous-même : Compilateur GDScript en ligne