For
Seperti di bahasa pemrograman lainnya, Python juga memiliki fungsi for. Bedanya di Python, For tidak hanya untuk perulangan dengan jumlah finite (terbatas), melainkan lebih ke fungsi yang dapat melakukan perulangan pada setiap jenis variabel berupa kumpulan atau urutan.
Variabel yang dimaksud bisa berupa list, string, ataupun range. Jika sebuah list atau urutan berisi expression, maka Ia akan dievaluasi terlebih dahulu.
Kemudian item pertama pada urutan/list akan diassign sebagai variabel iterating_var. Setelahnya, blok statement akan dieksekusi, berlanjut ke item berikutnya, berulang, hingga seluruh urutan habis.
- 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 |
Anda juga dapat melakukan perulangan berdasarkan indeks atau range dengan memanfaatkan 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
While pada bahasa Python digunakan untuk mengeksekusi statement selama kondisi yang diberikan terpenuhi (True).
Kondisi dapat berupa expression apapun, dan harap diingat bahwa True di Python termasuk semua nilai non-zero. Saat kondisi menjadi False, program akan melanjutkan ke baris setelah blok statement.
Tip: Python tidak memiliki do.. while statement
Seperti for dan semua statement percabangan, blok statement yang mengikuti kondisi while dan memiliki posisi indentasi yang sama, dianggap blok statement 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 lainnya, eksekusi statement while mungkin bersifat infinit / infinite loop saat sebuah kondisi tidak pernah bernilai False. Contohnya sebagai berikut:
- 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 tidak akan pernah bernilai False karena nilai var tidak pernah berubah. Untuk menghentikan infinite loop, gunakan CTRL (atau CMD⌘) - C untuk menghentikannya dan keluar dari program.
Anda juga dapat menyingkat penulisan blok statement While jika statement Anda cukup terwakili oleh satu baris.
- while (var1): do_something()
Perulangan Bertingkat
Ada kalanya Anda perlu untuk melakukan perulangan bertingkat, misalnya untuk menghasilkan contoh print-out berikut:
***** **** *** ** * |
Anda dapat melakukannya dengan kode berikut:
- for i in range(0, 5):
- for j in range(0, 5 - i):
- print('*', end='')
- print()
Tip: Tambahkan parameter end pada print untuk mengatur karakter yang mengakhiri pencetakan string/teks Anda. Secara default, karakter end ini adalah newline ('\n'