While Loop
Termasuk bagian Dasar-Dasar dalam perjalanan GDScript di Coddy. Pelajaran 44 dari 92.
for loop berjalan satu kali untuk setiap angka dalam rentang. while loop terus berjalan selama kondisi bernilai true:
var count := 3
while count > 0:
print(count)
count -= 1
print("Go!")3
2
1
Go!Kondisi diperiksa sebelum setiap iterasi. Saat count menjadi 0, count > 0 bernilai false, sehingga perulangan berhenti dan program berlanjut setelahnya. Jika kondisi bernilai false sejak awal, blok tersebut tidak pernah dijalankan.
Blok tersebut harus mengubah sesuatu yang menjadi dasar kondisi. Di sini, count -= 1 membuat count lebih dekat ke 0. Tanpanya, kondisi akan tetap true dan perulangan tidak akan pernah berakhir.
Gunakan while saat kamu belum tahu sebelumnya berapa banyak iterasi yang diperlukan. Contohnya, kode ini mencari pangkat 2 terkecil yang lebih besar dari 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 menjadi dua kali lipat pada setiap iterasi: 2, 4, 8, 16, 32. Pada 32, power_of_two <= number bernilai false, jadi program mencetak 32.
Tantangan
MudahProgram membaca satu bilangan desimal ke dalam number.
Gunakan while loop untuk membagi number dengan 2 selama nilainya lebih besar dari atau sama dengan 3.5. Lalu cetak hasilnya, yaitu nilai pertama yang lebih kecil dari 3.5.
Contohnya, untuk input 15, nilainya adalah 15, 7.5, 3.75, dan 1.875, sehingga program mencetak:
1.875Jika input sudah lebih kecil dari 3.5, cetak tanpa mengubahnya. Jangan gunakan for loop.
Coba sendiri
extends Node
func _ready():
var number := float(OS.read_string_from_stdin())
# Bagi dua number selama nilainya 3.5 atau lebih, lalu cetak hasilnya
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Operator Bagian 1
Operator AritmetikaPembagian Bilangan BulatOperator ModuloPintasan AritmetikaRingkasan: Matematika SederhanaOperator Perbandingan7Dasar input dan output
OutputOutput dengan variabelPemformatan stringInputKonversi tipeRekap: Sampai 120Rekap: Benar atau Salah10Fungsi
Deklarasikan FungsiArgumenNilai KembaliTipe PengembalianRangkuman, Fungsi SigmaRangkuman, Fungsi ValidasiNilai Default5Operator Bagian 2
Operator Logika Bagian 1Operator Logika Bagian 2Ulasan: Logika SederhanaOperator Logika Bagian 3Operator Ternary8Kalkulator Pembagi Tagihan
Pesan SambutanMenerima Input3Variabel Bagian 2
Deklarasi TipeInferensi TipeKonstantaRangkuman: Inisialisasi VariabelKonversi Tipe6Pengambilan Keputusan
Pernyataan IfIf - ElseRangkuman: Kalkulator SederhanaIf - Else BersarangPernyataan Match9Perulangan
For LoopWhile LoopBreakContinueRingkasan: FaktorialFungsi rangeNested LoopRingkasan: Input DinamisLatihan sendiri: Compiler GDScript online