Perulangan while, break & continue
Mengulang selama syarat terpenuhi dan mengendalikan alur loop.
while: ulangi selama benar
n = 3
while n > 0:
print(n)
n -= 1
print("Selesai")
Syarat dicek sebelum setiap putaran. Pastikan ada sesuatu di dalam loop yang akhirnya membuat syarat menjadi False, kalau tidak terjadi infinite loop.
for vs while
- Gunakan for bila jumlah putaran diketahui atau menelusuri koleksi.
- Gunakan while bila berhenti berdasarkan kondisi (misal sampai pengguna mengetik "selesai").
Menggandakan sampai batas
pangkat = 1
while pangkat < 1000:
pangkat *= 2
print(pangkat) # 1024
break dan continue
angka = 51
while True: # loop "selamanya"
if angka % 7 == 0:
print("Ketemu:", angka)
break # keluar dari loop
angka += 1
while True + break adalah pola umum untuk "ulangi sampai kondisi tertentu terjadi di tengah loop". continue melompat ke pengecekan syarat berikutnya.
Pola validasi input
while True:
teks = input("Umur: ")
if teks.isdigit():
umur = int(teks)
break
print("Masukkan angka!")
Pola akumulasi
total = 0
while True:
n = int(input())
if n == 0:
break
total += n
print(total)
Walrus operator (opsional, Python 3.8+)
while (baris := input()) != "stop":
print(baris.upper())
Menghindari infinite loop
- Pastikan variable yang diuji di syarat berubah di dalam loop.
- Gunakan batas percobaan maksimum.
- Di KelasIT, program yang berjalan lebih dari 10 detik dihentikan otomatis dengan pesan peringatan.