Menu
CoddyTech

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.

challenge icon

Sfida

Facile

Il 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.875

Se 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
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore GDScript online