Belajar Perulangan di dalam Python
For
Fungsi For pada Python berbeda dengan Fungsi For pada bahasa pemrograman lainnya karena dapat melakukan perulangan pada tipe variabel apapun yang merupakan kumpulan atau urutan, bukan hanya pada jumlah perulangan yang terbatas.
Jenis variabel yang dimaksud dapat berupa list, string, atau range. Jika terdapat ekspresi dalam suatu list atau urutan, maka ekspresi tersebut akan dievaluasi terlebih dahulu.
Selanjutnya, item pertama pada urutan atau list akan diberikan nilai pada variabel yang ditetapkan sebagai variabel iterasi. Kemudian, blok pernyataan akan dijalankan, dilanjutkan ke item berikutnya, dan berulang-ulang hingga seluruh urutan selesai diproses.
for letter in 'Python': # First Example
print('Current Letter: {}'.format(letter))
fruits = ['banana', 'apple', 'mango']
for fruit in fruits: # Second Example
print('Current fruit: {}'.format(fruit))
Output:
Current Letter : P Current Letter : y Current Letter : t Current Letter : h Current Letter : o Current Letter : n Current fruit : banana Current fruit : apple Current fruit : mango
Kamu dapat melakukan perulangan berdasarkan indeks atau range dengan menggunakan fungsi len().
fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)):
print('Current fruit: {}'.format(fruits[index]))
Output:
Current fruit : banana Current fruit : apple Current fruit : mango
While
Pada bahasa Python, While digunakan untuk menjalankan pernyataan secara berulang selama kondisi yang ditentukan benar (True).
Kondisi yang digunakan dapat berupa ekspresi apapun, dan perlu diingat bahwa di Python, nilai True mencakup semua nilai non-zero. Ketika kondisi menjadi False, program akan melanjutkan ke baris setelah blok pernyataan.
Tips: Python tidak memiliki do.. while statement
Seperti halnya for dan semua pernyataan percabangan, blok pernyataan yang mengikuti kondisi while dan memiliki indentasi yang sama akan dianggap sebagai blok pernyataan yang akan dieksekusi.
Contoh:
count = 0
while (count < 5):
print('The count is: {}'.format(count))
count = count + 1
Output:
The count is: 0
The count is: 1
The count is: 2
The count is: 3
The count is: 4
Seperti pada bahasa pemrograman lainnya, eksekusi pernyataan while dapat mengakibatkan infinite loop saat kondisi tidak pernah bernilai False. Berikut adalah contohnya:
var = 1
while var == 1: # This constructs an infinite loop
num = input('Enter a number: ')
print('You entered: {}'.format(num))
while True: # This constructs an infinite loop
num = input('Enter a number: ')
print('You entered: {}'.format(num))
Potongan kode di atas akan selalu bernilai True karena nilai variabel tidak pernah diubah. Untuk menghentikan infinite loop, gunakan CTRL (atau CMD⌘) - C untuk menghentikan dan keluar dari program.
Kamu dapat mempersingkat penulisan blok pernyataan While jika pernyataan kamu dapat direpresentasikan dalam satu baris.
while (var1): do_something()
Perulangan Bertingkat
Terkadang diperlukan untuk melakukan perulangan bertingkat, contohnya untuk menghasilkan output print seperti berikut:
***** **** *** ** *
Kamu dapat melakukannya dengan kode berikut:
for i in range(0, 5):
for j in range(0, 5 - i):
print('*', end='')
print()
Tips: Tambahkan parameter end pada pernyataan print untuk menentukan karakter yang digunakan sebagai penutup setiap string yang dicetak. Secara default, karakter penutup ini adalah newline ('\n').