Ciclo while
Fa parte della sezione Fondamenti del percorso GDScript di Coddy. Lezione 44 di 92.
Un ciclo for viene eseguito una volta per ogni numero in un intervallo. Un ciclo while continua a essere eseguito finché una condizione è true:
var count := 3
while count > 0:
print(count)
count -= 1
print("Go!")3
2
1
Go!La condizione viene verificata prima di ogni iterazione. Quando count diventa 0, count > 0 è false, quindi il ciclo si ferma e il programma continua dopo di esso. Se la condizione è false fin dall'inizio, il blocco non viene mai eseguito.
Il blocco deve modificare qualcosa da cui dipende la condizione. Qui count -= 1 avvicina count a 0. Senza di esso, la condizione resterebbe true e il ciclo non finirebbe mai.
Usa while quando non sai in anticipo quante iterazioni ti servono. Per esempio, questo trova la più piccola potenza di 2 maggiore di 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 raddoppia a ogni iterazione: 2, 4, 8, 16, 32. A 32, power_of_two <= number è false, quindi il programma stampa 32.
Sfida
FacileIl programma legge un numero decimale in number.
Usa un ciclo while per dividere number per 2 finché è maggiore o uguale a 3.5. Poi stampa il risultato, che è il primo valore minore di 3.5.
Per esempio, per l’input 15 i valori sono 15, 7.5, 3.75 e 1.875, quindi il programma stampa:
1.875Se l’input è già minore di 3.5, stampalo senza modificarlo. Non usare un ciclo for.
Provalo tu
extends Node
func _ready():
var number := float(OS.read_string_from_stdin())
# Dimezza number finché è maggiore o uguale a 3.5, poi stampalo
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 1
Operatori aritmeticiDivisione interaOperatore moduloScorciatoie aritmeticheRipasso - Matematica sempliceOperatori di confronto7Input/Output di base
OutputOutput con variabiliFormattazione delle stringheInputConversione di tipoRiepilogo - Fino a 120Riepilogo - Vero o falso10Funzioni
Dichiarare una funzioneArgomentiRestituzioneTipi di ritornoRiepilogo - Funzione SigmaRiepilogo - Funzione di convalidaValori predefiniti5Operatori - Parte 2
Operatori logici - Parte 1Operatori logici - Parte 2Riepilogo - Logica sempliceOperatori logici - Parte 3Operatore ternario8Calcolatore per dividere il conto
Messaggio di benvenutoInserimento dei dati11FizzBuzz con una variante
Panoramica del giocoLa funzione FizzBuzz3Variabili Parte 2
Dichiarazione del tipoInferenza del tipoCostantiRipasso - Inizializzare le variabiliConversione di tipo6Strutture decisionali
Istruzione ifIf - ElseRipasso - Calcolatrice sempliceIf - Else annidatiIstruzione match9Cicli
Ciclo forCiclo whilebreakcontinueRipasso - FattorialeLa funzione rangeCiclo annidatoRipasso - Input dinamicoEsercitati da solo: Compilatore GDScript online