Menu
CoddyTech

Nested Loop

Termasuk bagian Dasar-Dasar dalam perjalanan GDScript di Coddy. Pelajaran 49 dari 92.

Perulangan bersarang adalah perulangan di dalam perulangan lain. Untuk setiap iterasi perulangan luar, perulangan dalam menjalankan semua iterasinya:

var rows := 3
var cols := 2
for i in range(rows):
	print("Outer: ", i)
	for j in range(cols):
		print("  Inner: ", j)
Outer: 0
  Inner: 0
  Inner: 1
Outer: 1
  Inner: 0
  Inner: 1
Outer: 2
  Inner: 0
  Inner: 1

Blok bagian dalam diindentasi dua tingkat. Blok ini dijalankan sebanyak rows x cols = 3 x 2 = 6 kali secara total. j dimulai lagi dari 0 setiap kali perulangan luar dijalankan, sementara rows dan cols tetap sama dan hanya memberi tahu perulangan kapan harus berhenti.

Kedua perulangan memerlukan nama variabel yang berbeda. Menulis for i di dalam for i lainnya adalah error yang dilaporkan sebelum program dijalankan.

Perulangan bersarang berguna untuk baris dan kolom. print() selalu mengakhiri baris, jadi untuk mencetak satu baris bintang, susun dulu dalam string lalu cetak setelah perulangan bagian dalam selesai:

for row in range(2):
	var line := ""
	for col in range(3):
		line += "*"
	print(line)
***
***

Perulangan luar berjalan satu kali untuk setiap baris, dan perulangan dalam menambahkan satu bintang untuk setiap kolom. break di dalam perulangan dalam hanya menghentikan perulangan dalam: perulangan luar melanjutkan ke iterasi berikutnya.

challenge icon

Tantangan

Mudah

Program membaca dua bilangan bulat: rows dan cols.

Gunakan perulangan bersarang untuk mencetak persegi panjang bintang (*) dengan rows baris dan cols bintang di setiap baris.

Untuk input 3 dan 4, outputnya adalah:

****
****
****

Gunakan pencacah baru untuk setiap perulangan (misalnya row untuk baris dan col untuk bintang dalam satu baris), lalu bandingkan dengan rows atau cols. Jangan ubah rows dan cols itu sendiri: setiap baris memerlukan cols lagi.

Coba sendiri

extends Node

func _ready():
	var rows := int(OS.read_string_from_stdin())
	var cols := int(OS.read_string_from_stdin())
	# Perulangan luar: satu iterasi untuk setiap baris
	# Perulangan dalam: tambahkan satu bintang untuk setiap kolom
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler GDScript online