Bahasa Python - Loop Idioms

Counting loop. Untuk menghitung berapa kali kita melakukan loop, kita memperkenalkan variabel counter yang dimulai pada 0 dan menambahkan satu ke setiap kali melalui loop. Counter disini ketika kita melakukan sesuatu dalam loop, ada proses pernyataan ‘sebelum’(before) dan ‘sesudah’(after) yang nantinya memberikan hasil atau result dari pernyataan yang kita buat dalam loop. Maka ada perhitungan jumlah berapa kali proses loop itu terjadi. Ini yang dimaksud counter. Oke kita akan jelaskan cara kerjanya. Untuk menghitung jumlah item dalam daftar, kita akan menulis yang berikut dalam loop:

zork = 0
print('Sebelum', zork)
for thing in[9,41,12,3,74,15]:
    zork = zork + 1
    print(zork, thing)
print('Sesudah', zork)
('Sebelum', 0)
(1, 9)
(2, 41)
(3, 12)
(4, 3)
(5, 74)
(6, 15)
('Sesudah', 6)

Jadi katakanlah kita memiliki [9,41,12,3,74,15], variable ini Cuma contoh dan sudah kita ketahui jumlahnya ada 6, maksudnya jika variable nya ada sejuta yang tidak bisa kita hitung dengan otak manual kita, jadi kita tidak tahu persis berapa, intinya jika kita memiliki loop dan loop yang ingin kita lacak berapa banyak variable didalam, anda bisa melakukan perhitungan. Kita menetapkan variabel ke 0. Ini adalah bagian atas, biasanya ini akan disebut count, tapi kita akan menggunakan nilai non-mnemonik yang disebut zork, hanya agar Anda tidak terlalu terbiasa dengan itu. Setiap kali melalui loop, kita akan menambahkan 1 ke zork, increment adalah kata lain untuk ini, zork = zork + 1. Kita mencetak sesuatu dan mencetak nilai saat ini untuk zork. Jadi, pertama kali adalah 9, dan kemudian, 41, yang kedua. Jadi, setiap kali melewati variable, ini naik sebesar 1.

count = 0 atau zork = 0 sama saja. Dan kemudian kita melihat 9, 41, 12, dst ini akan menjadi variabel iterasi. Dan ketika loop sudah selesai ada ujung bloknya, ada 6 hitungan. Sekarang lagi, 6 agak jelas. Kita hanya bisa melihatnya dan tahu bahwa ada 6. Tapi ini adalah cara untuk melacak berapa kali loop dieksekusi.

Kita menetapkan jumlah variabel ke nol sebelum loop dimulai, kemudian menulis loop untuk menjalankan melalui daftar angka. Variabel iterasi kita namai ‘thing’ dari ‘for thing in’ anda juga bisa gunakan ‘itervar’ dari ‘for itervar in’ dan sementara kita tidak menggunakan itervar dalam loop, ia mengontrol loop dan menyebabkan body loop dieksekusi sekali untuk masing-masing nilai dalam daftar. Di bagian loop, kita menambahkan 1 ke nilai hitungan saat ini untuk masing-masing nilai dalam daftar. Sementara loop mengeksekusi, nilai hitungan adalah jumlah nilai yang telah kita lihat “sejauh ini”. Setelah loop selesai, nilai hitungan adalah jumlah total item. Itu jumlah total yang anda lihat di akhir loop.

Menjumlahkan dalam loop (summing loop)- Hal berikutnya yang akan kita lakukan adalah menjumlahkan serangkaian nilai. Jadi dalam hal ini kita akan totalkan mereka. Untuk menambahkan nilai yang kita temui dalam satu loop, kita memperkenalkan variabel jumlah yang dimulai pada 0 dan menambahkan nilai ke jumlah setiap kali melalui loop

zork = 0
print('Sebelum', zork)
for thing in[9,41,12,3,74,15]:
    zork = zork + thing
    print(zork, thing)
print('Sesudah', zork)

('Sebelum', 0)
(9, 9)
(50, 41)
(62, 12)
(65, 3)
(139, 74)
(154, 15)
('Sesudah', 154)

Jadi diatas kita menyebutnya total pada summing loop. Selama loop, itu akan menjadi total yang berjalan dan pada akhir putaran itu akan menjadi total. Dan total = 0, pada pernyataan ‘sebelum’, itulah jumlah total yang telah kita lihat. Jadi setelah itu 9 keluar dari 0 + 9 adalah 9, jadi total yang berjalan adalah 9 dan 9 adalah apa yang kita lihat. Begitu seterusnya sampai pada finish loop kita mendapatkan nilai ‘sesudah’ adalah 154.

Dalam loop ini kita menggunakan variabel iterasi. Alih-alih hanya menambahkan satu ke hitungan seperti pada loop sebelumnya, kita menambahkan angka aktual (3, 41, 12, dll.) dengan ‘thing’ pada zork=zork+thing. Jadi akan ada total yang berjalan selama setiap iterasi putaran. Jika Anda berpikir tentang total variabel, ini berisi “running total of the values so far” atau total sejauh loop iterasi. Jadi sebelum loop dimulai, total adalah nol karena kita belum melihat nilai apa pun, selama total loop adalah total yang berjalan, dan pada akhir total loop adalah total keseluruhan dari semua nilai dalam daftar.

Saat loop mengeksekusi, total mengumpulkan jumlah elemen; variabel yang digunakan dengan cara ini kadang-kadang disebut akumulator. Baik counting loop maupun summing loop sangat berguna dalam praktik karena ada fungsi built-in len() dan sum() yang menghitung jumlah item dalam daftar dan total item dalam daftar masing-masing.

Oke sekarang kita akan melakukannya dengan average atau rata-rata. Rata-rata atau average hanya menggabungkan pola penghitungan dan jumlah dan membagi ketika loop selesai.

count = 0
sum = 0
print('Sebelum', count, sum)
for value in[9,41,12,3,74,15]:
    count = count + 1
    sum = sum + value
    print(count, sum, value)
print('Sesudah', count, sum, sum/count)
('Sebelum', 0, 0)
(1, 9, 9)
(2, 50, 41)
(3, 62, 12)
(4, 65, 3)
(5, 139, 74)
(6, 154, 15)
('Sesudah', 6, 154, 25)

Jadi sekarang kita akan memiliki counter yang kita atur ke 0, total yang berjalan atau sum yang kita tetapkan ke 0 dalam jumlah variabel. Kita akan mencetak 0, 0. Jadi, hitungan dan totalnya adalah 0. Kita jalankan loop. Setiap kali iterasi, kita menambahkan 1. Jadi, itu akan menjadi 1, 2, 3,4, 5, 6 setiap kali iterasi. Dan kita memiliki sum = sum + value, jadi, 9, 50, 62, 65, 139, 154. adi ini adalah total yang berjalan atau running totalnya. Kita dapat 6 kali iterasi dengan totalnya adalah 154. Dan ketika melakukan pembagian jumlah dengan hitungan iterasi hasilnya harus 25,………….

Maximum dan minimum loops. Untuk menemukan nilai terbesar dalam daftar atau urutan, kita membuat loop berikut:

largest = None
print('Sebelum:', largest)
for itervar in [3, 41, 12, 9, 74, 15]:
    if largest is None or itervar > largest :
        largest = itervar
print('Loop:', itervar, largest)
print('Largest:', largest)

Hasilnya:

Sebelum: None
Loop: 3 3
Loop: 41 41
Loop: 12 41
Loop: 9 41
Loop: 74 74
Loop: 15 74
Largest: 74

Variabel terbesar paling baik dianggap sebagai ‘largest value we have seen so far’ atau “nilai terbesar yang telah kita lihat sejauh ini”. Sebelum loop, kita sudah menetapkan terbesar ke onstant ‘None’. Tidak ada yang merupakan nilai konstanta khusus yang dapat kita simpan dalam variabel untuk menandai variabel sebagai “empty”.

Sebelum loop dimulai, nilai terbesar yang telah kita lihat sejauh ini adalah ‘None’ karena kita belum melihat nilai apa pun. Sementara loop mengeksekusi, jika terbesar adalah None maka kita mengambil nilai pertama yang kita lihat sebagai yang terbesar sejauh ini. Anda dapat melihat pada iterasi pertama ketika nilai itervar adalah 3, karena terbesar adalah ‘None’, kita langsung menetapkan terbesar menjadi 3.

Setelah iterasi pertama, terbesar bukan lagi ‘None, jadi bagian kedua dari ekspresi logis senyawa yang memeriksa itervar> pemicu terbesar hanya ketika kita melihat nilai yang lebih besar daripada “Largest so far” atau terbesar saat ini. Ketika kami melihat nilai “even larger” atau lebih besar terbaru, kita mengambil nilai baru itu untuk yang terbesar. Anda dapat melihat dalam output program yang terbesar berlangsung dari 3 hingga 41 hingga 74. Di akhir loop, kami telah memindai semua nilai dan variabel terbesar saat ini memang mengandung nilai terbesar dalam daftar.

Untuk menghitung angka terkecil, kode ini sangat mirip dengan satu perubahan kecil:

smallest = None
print('Sebelum:', smallest)
for itervar in [3, 41, 12, 9, 74, 15]:
    if smallest is None or itervar < smallest:
        smallest = itervar
print('Loop:', itervar, smallest)
print('Smallest:', smallest)
('Sebelum:', None)
('Loop:', 15, 3)
('Smallest:', 3)

Sekali lagi, smallest adalah “ smallest so far” atau terkecil saat ini pada pernyataan sebelum, selama proses, dan setelah loop dieksekusi. Ketika loop selesai, smallest berisi nilai minimum dalam daftar. Sekali lagi seperti dalam counting dan summing, fungsi built-in max () dan min () membuat penulisan loop yang tepat ini tidak perlu.