Bekerja dengan Flag di Python
Flag - adalah variabel khusus,
yang hanya dapat memiliki dua nilai:
True atau False. Dengan menggunakan
flag, kita dapat memecahkan masalah yang memeriksa
ketiadaan sesuatu: misalnya, kita dapat
memeriksa bahwa tidak ada elemen dengan
nilai tertentu dalam sebuah list.
Mari kita selesaikan masalah berikut: diberikan sebuah list
berisi angka, perlu diperiksa apakah semua elemen
di dalamnya adalah positif. Untuk melakukan ini,
kita akan menetapkan variabel khusus flag,
yang akan bernilai benar sebelum perulangan dimulai.
Dan jika ditemukan angka negatif selama perulangan,
kita akan mengubah nilainya menjadi False. Untuk
mengetahui hasil pemeriksaan,
kita akan mencetak variabel flag setelah perulangan
ke konsol:
lst = [1, 2, 3, 4, 5]
flag = True
for el in lst:
if el < 0:
flag = False
print(flag) # akan mencetak True, karena semua angka positif
Praktik yang baik adalah memberikan nama untuk
variabel flag yang mencerminkan
kondisi yang ditetapkan. Mari kita ganti nama flag
menjadi isAllPositive. Dan untuk kejelasan,
mari kita ubah satu angka dalam list menjadi negatif:
lst = [1, 2, 3, -4, 5]
isAllPositive = True
for el in lst:
if el < 0:
isAllPositive = False
print(isAllPositive) # akan mencetak False, karena ada angka negatif
Jika dalam list yang diproses terdapat banyak nilai
dan perlu menghentikan perulangan setelah menemukan
angka negatif pertama, maka kita harus
menerapkan instruksi break:
for el in lst:
if el < 0:
isAllPositive = False
break
Ketika bekerja dengan flag, untuk mengetahui hasil
eksekusi perulangan, kita dapat mencetak bukan nilai
flag-nya, tetapi pesan arbitrer dengan menggunakan
tambahan if.
Mari kita tulis ulang contoh sebelumnya. Jika
semua elemen positif, maka biarkan
tercetak '+++', jika tidak -
'---':
for el in lst:
if el < 0:
isAllPositive = False
break
if isAllPositive:
print('+++')
else:
print('---') # akan mencetak '---'
Diberikan sebuah list. Periksa apakah semua elemennya adalah angka positif.
Diberikan sebuah bilangan bulat. Periksa apakah ia adalah bilangan prima, yaitu hanya habis dibagi oleh satu dan oleh dirinya sendiri.