Pętla zagnieżdżona
Część sekcji Podstawy ścieżki GDScript w Coddy. Lekcja 49 z 92.
Pętla zagnieżdżona to pętla wewnątrz innej pętli. Przy każdej iteracji pętli zewnętrznej pętla wewnętrzna wykonuje wszystkie swoje iteracje:
for i in range(3):
print("Outer: ", i)
for j in range(2):
print(" Inner: ", j)Outer: 0
Inner: 0
Inner: 1
Outer: 1
Inner: 0
Inner: 1
Outer: 2
Inner: 0
Inner: 1Wewnętrzny blok jest wcięty o dwa poziomy. Wykonuje się łącznie 3 x 2 = 6 razy.
Obie pętle muszą mieć różne nazwy zmiennych. Zapisanie for i wewnątrz innego for i jest błędem zgłaszanym przed uruchomieniem programu.
Zagnieżdżone pętle są przydatne do tworzenia wierszy i kolumn. print() zawsze kończy wiersz, więc aby wypisać wiersz gwiazdek, najpierw utwórz go w ciągu znaków i wypisz dopiero po zakończeniu pętli wewnętrznej:
for row in range(2):
var line := ""
for col in range(3):
line += "*"
print(line)***
***Pętla zewnętrzna wykonuje się raz dla każdego wiersza, a pętla wewnętrzna dodaje jedną gwiazdkę dla każdej kolumny. Instrukcja break wewnątrz pętli wewnętrznej zatrzymuje tylko pętlę wewnętrzną: pętla zewnętrzna przechodzi do następnej iteracji.
Wyzwanie
ŁatwyProgram odczytuje dwie liczby całkowite: rows i cols.
Użyj zagnieżdżonych pętli, aby wypisać prostokąt z gwiazdek (*) zawierający rows wierszy i po cols gwiazdek w każdym wierszu.
Dla danych wejściowych 3 i 4 wynikiem jest:
****
****
****Spróbuj swoich sił
extends Node
func _ready():
var rows := int(OS.read_string_from_stdin())
var cols := int(OS.read_string_from_stdin())
# Pętla zewnętrzna: jedna iteracja na każdy wiersz
# Pętla wewnętrzna: dodaj jedną gwiazdkę na każdą kolumnę
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