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.
Wyzwanie
ŁatwyProgram 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.875Jeś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
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory, część 1
Operatory arytmetyczneDzielenie całkowiteOperator moduloSkrócone operatory arytmetycznePodsumowanie — prosta matematykaOperatory porównania7Podstawowe wejście/wyjście
WyjścieWyjście ze zmiennymiFormatowanie ciągów znakówWejścieRzutowanie typówPowtórka — do 120Powtórka — prawda czy fałsz10Funkcje
Deklarowanie funkcjiArgumentyZwracanie wartościTypy zwracanych wartościPowtórka — funkcja sigmaPowtórka — funkcja walidującaWartości domyślne5Operatory — część 2
Operatory logiczne — część 1Operatory logiczne — część 2Powtórka — podstawy logikiOperatory logiczne — część 3Operator warunkowy8Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych14Zaawansowane tablice
Wycinanie fragmentów tablicyOperatory sekwencjiPrzynależnośćSortowanie i odwracanie3Zmienne, część 2
Deklarowanie typówWnioskowanie o typachStałePowtórka — inicjalizacja zmiennychKonwersja typów6Podejmowanie decyzji
Instrukcja ifIf - elsePowtórka – prosty kalkulatorZagnieżdżone if - elseInstrukcja match9Pętle
Pętla forPętla whilePrzerwijKontynuujPowtórka — silniaFunkcja rangePętla zagnieżdżonaPowtórka — dane wejściowe dynamicznePoćwicz samodzielnie: Kompilator GDScript online