Menu
CoddyTech

Pętla while

Część sekcji Podstawy ścieżki GDScript w Coddy. Lekcja 44 z 92.

Pętla for wykonuje się raz dla każdej liczby z danego zakresu. Pętla while działa tak długo, jak długo warunek ma wartość true:

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

Warunek jest sprawdzany przed każdą iteracją. Gdy count przyjmuje wartość 0, count > 0 ma wartość false, więc pętla się zatrzymuje, a program kontynuuje działanie po niej. Jeśli warunek od początku ma wartość false, blok nigdy się nie wykonuje.

Blok musi zmieniać coś, od czego zależy warunek. Tutaj count -= 1 przybliża count do 0. Bez tego warunek pozostałby true i pętla nigdy by się nie skończyła.

Użyj while, gdy nie wiesz z góry, ile iteracji potrzebujesz. Na przykład ten kod znajduje najmniejszą potęgę liczby 2 większą niż 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 podwaja się przy każdej iteracji: 2, 4, 8, 16, 32. Dla 32 warunek power_of_two <= number ma wartość false, więc program wypisuje 32.

challenge icon

Wyzwanie

Łatwy

Program wczytuje jedną liczbę dziesiętną do number.

Użyj pętli while, aby dzielić number przez 2, dopóki jest większe lub równe 3.5. Następnie wypisz wynik, czyli pierwszą wartość mniejszą niż 3.5.

Na przykład dla wejścia 15 kolejne wartości to 15, 7.5, 3.75 i 1.875, więc program wypisuje:

1.875

Jeśli wartość wejściowa jest już mniejsza niż 3.5, wypisz ją bez zmian. Nie używaj pętli for.

Spróbuj swoich sił

extends Node

func _ready():
	var number := float(OS.read_string_from_stdin())
	# Dziel number przez dwa, dopóki jest większa lub równa 3.5, a następnie ją wypisz
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator GDScript online