Python - Nested Loops
Halo, pemrogram yang beraspirasi! Hari ini, kita akan menyelam ke dalam dunia yang menarik tentang nested loops di Python. Sebagai guru komputer yang ramah di sekitar anda, saya sangat gembira untuk menjawabikimu melalui perjalanan ini. percayalah, pada akhir pelajaran ini, kamu akan berputar seperti seorang pro!
Apa itu Nested Loops?
Sebelum kita melompat ke ujung yang dalam, mari kita mulai dengan dasar-dasar. Bayangkan jika kamu sedang mengurus rak rak pakaianmu. Kamu melalui setiap rak (itu satu loop), dan untuk setiap rak, kamu mengurutkan semua barang di atasnya (itu adalah loop lain di dalam loop pertama). Itulah esensi dari nested loops dalam pemrograman – loops di dalam loops!
Python Nested for Loop
Mari kita mulai dengan for
loop, yang seperti seorang teman lama yang dapat dipercaya di dunia Python.
Struktur Dasar
Inilah struktur umum dari nested for loop:
for outer_variable di outer_sequence:
# Badan loop luar
for inner_variable di inner_sequence:
# Badan loop dalam
Contoh Sederhana: Tabel Perkalian
Mari kita buat tabel perkalian sederhana untuk memahami ini lebih baik:
for i di range(1, 6):
for j di range(1, 6):
cetak(f"{i} x {j} = {i*j}", end="\t")
cetak() # Pindah ke baris berikutnya setelah setiap baris
Kode ini akan menghasilkan:
1 x 1 = 1 1 x 2 = 2 1 x 3 = 3 1 x 4 = 4 1 x 5 = 5
2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 2 x 4 = 8 2 x 5 = 10
3 x 1 = 3 3 x 2 = 6 3 x 3 = 9 3 x 4 = 12 3 x 5 = 15
4 x 1 = 4 4 x 2 = 8 4 x 3 = 12 4 x 4 = 16 4 x 5 = 20
5 x 1 = 5 5 x 2 = 10 5 x 3 = 15 5 x 4 = 20 5 x 5 = 25
Mari kita pecahkan ini:
- Loop luar (
for i di range(1, 6)
) berjalan 5 kali, mewakili baris. - Untuk setiap iterasi loop luar, loop dalam (
for j di range(1, 6)
) berjalan 5 kali, mewakili kolom. - Kita mencetak setiap hasil perkalian, menggunakan
end="\t"
untuk menambah spasi tab bukannya baris baru. - Setelah setiap baris (iterasi loop luar), kita mencetak baris kosong untuk pindah ke baris berikutnya.
Contoh Dunia Nyata: Susunan Kursi
Bayangkan jika kamu adalah seorang guru (seperti saya!) yang mengatur kursi untuk kelas. Mari kita buat peta tempat duduk:
murid = ["Alice", "Bob", "Charlie", "David", "Eve"]
baris = 3
kursi_per_baris = 2
nomor_kursi = 0
for row di range(1, baris + 1):
cetak(f"Baris {row}:")
for kursi di range(1, kursi_per_baris + 1):
jika seat_number < len(murid):
cetak(f" Kursi {kursi}: {murid[nomor_kursi]}")
nomor_kursi += 1
else:
cetak(f" Kursi {kursi}: Kosong")
cetak() # Baris kosong antara baris
Ini akan menghasilkan:
Baris 1:
Kursi 1: Alice
Kursi 2: Bob
Baris 2:
Kursi 1: Charlie
Kursi 2: David
Baris 3:
Kursi 1: Eve
Kursi 2: Kosong
Dalam contoh ini:
- Loop luar mengulangi setiap baris.
- Loop dalam menetapkan murid ke kursi di setiap baris.
- Kita menggunakan variabel
nomor_kursi
untuk melacak murid mana yang akan kita tetapkan berikutnya. - Jika kita kehabisan murid, kita tandai kursi yang tersisa sebagai "Kosong".
Python Nested while Loop
Sekarang, mari kita bertemu dengan sepupu while
loop – nested while
loop. Itu seperti penjaga yang pantang menyerah yang terus memeriksa kondisi.
Struktur Dasar
Inilah cara nested while loop biasanya terlihat:
while outer_condition:
# Badan loop luar
while inner_condition:
# Badan loop dalam
Contoh: Piramid Angka
Mari kita buat piramid angka untuk melihat nested while loops dalam aksi:
baris = 1
while baris <= 5:
kolom = 1
while kolom <= baris:
cetak(kolom, end=" ")
kolom += 1
cetak() # Pindah ke baris berikutnya
baris += 1
Ini akan menghasilkan:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
Mari kita pecahkan ini:
- Loop
while
luar mengontrol jumlah baris (1 sampai 5). - Untuk setiap baris, loop
while
dalam mencetak angka dari 1 sampai angka baris saat ini. - Kita menambah
kolom
di dalam loop dalam danbaris
di dalam loop luar.
Contoh Dunia Nyata: Pemeriksaan Inventori
Bayangkan jika kamu adalah seorang manajer toko kecil. Kamu perlu memeriksa inventori kamu secara teratur. Mari kita simulasi ini dengan nested while loops:
inventori = {
"apel": 50,
"pisang": 30,
"jeruk": 40
}
hari = 1
while hari <= 3: # Periksa selama 3 hari
cetak(f"Hari {hari} Pemeriksaan Inventori:")
for buah, kuantitas di inventori.items():
while kuantitas > 0:
cetak(f"Memeriksa {buah}...")
kuantitas -= 10 # Simulasikan menjual 10 unit setiap pemeriksaan
jika kuantitas <= 20:
cetak(f"Peringatan stok rendah untuk {buah}! Hanya {kuantitas} lagi.")
break # Hentikan pemeriksaan buah ini jika stok rendah
inventori[buah] = kuantitas # Update inventori
cetak(f" Inventori Akhir Hari {hari}: {inventori}\n")
hari += 1
Ini akan menghasilkan sesuatu seperti:
Hari 1 Pemeriksaan Inventori:
Memeriksa apel...
Memeriksa apel...
Memeriksa apel...
Peringatan stok rendah untuk apel! Hanya 20 lagi.
Memeriksa pisang...
Peringatan stok rendah untuk pisang! Hanya 20 lagi.
Memeriksa jeruk...
Memeriksa jeruk...
Peringatan stok rendah untuk jeruk! Hanya 20 lagi.
Inventori Akhir Hari 1: {'apel': 20, 'pisang': 20, 'jeruk': 20}
Hari 2 Pemeriksaan Inventori:
Memeriksa apel...
Peringatan stok rendah untuk apel! Hanya 10 lagi.
Memeriksa pisang...
Peringatan stok rendah untuk pisang! Hanya 10 lagi.
Memeriksa jeruk...
Peringatan stok rendah untuk jeruk! Hanya 10 lagi.
Inventori Akhir Hari 2: {'apel': 10, 'pisang': 10, 'jeruk': 10}
Hari 3 Pemeriksaan Inventori:
Memeriksa apel...
Peringatan stok rendah untuk apel! Hanya 0 lagi.
Memeriksa pisang...
Peringatan stok rendah untuk pisang! Hanya 0 lagi.
Memeriksa jeruk...
Peringatan stok rendah untuk jeruk! Hanya 0 lagi.
Inventori Akhir Hari 3: {'apel': 0, 'pisang': 0, 'jeruk': 0}
Dalam contoh ini:
- Loop
while
luar simulasi pemeriksaan inventori selama 3 hari. - Kita menggunakan loop
for
untuk mengulangi setiap buah di inventori. - Loop
while
dalam simulasi pemeriksaan dan menjual setiap buah sampai stok rendah atau habis. - Kita menggunakan
break
untuk berhenti memeriksa buah jika kuantitasnya turun ke 20 atau kurang.
Kesimpulan
Selamat! Kamu baru saja menguasai seni nested loops di Python. Ingat, nested loops adalah alat yang kuat, tetapi gunakan mereka dengan bijak. Mereka dapat membuat kode kamu berjalan lebih lambat jika tidak digunakan secara efisien.
Seperti semua konsep pemrograman, praktek membuat perfect. Cobalah membuat skenario nested loop kamu sendiri – mungkin pengaturan papan catur, atau jadwal sekolah mingguan. Kemungkinan itu tak terbatas!
Teruskan coding, teruskan belajar, dan yang paling penting, nikmati itu! Sampai jumpa lagi, ini adalah guru komputer ramah di sekitar kamu yang memberhentikan. Selamat berputar!
Credits: Image by storyset