while loop dengan Python. Cara kerjanya, contoh penggunaan

Loop adalah salah satu alat utama bahasa apa pun. Ada dua loop dasar dalam Python, salah satunya adalah while. Pertimbangkan, dan juga untuk pemahaman yang lebih baik tentang gambar, satu lagi. Memang, dibandingkan dengan sesuatu yang serupa, jauh lebih mudah untuk memahami materi apa pun, bukan?

Konsep siklus

Sebuah loop diperlukan ketika tindakan tertentu perlu dilakukan beberapa kali. Ini sangat sederhana, karena pada kenyataannya jangkauan aplikasi untuk siklus jauh lebih luas. Ada dua jenis perulangan utama dalam Python: for dan while. Yang paling populer adalah untuk.

Selain tindakan tertentu, Anda dapat mengulang potongan kode yang berbeda hingga titik tertentu. Ini bisa beberapa kali, atau selama kondisi tertentu benar.

Sebelum kita mulai memahami jenis-jenis loop dan while khususnya, kita masih perlu memahami apa itu iterasi. Ini adalah salah satu pengulangan tindakan atau urutan tindakan selama siklus saat ini dalam menjalankan aplikasi saat ini.

Siklus Untuk

Perulangan For kami bukanlah penghitung, seperti dalam banyak bahasa lainnya. Tugasnya adalah menghitung urutan nilai tertentu. Apa artinya ini? Katakanlah kita memiliki daftar elemen. Pertama, loop mengambil yang pertama, kedua, ketiga, dan seterusnya.

Keuntungan dari loop ini di Python adalah Anda tidak perlu menentukan indeks elemen untuk mengetahui kapan harus keluar dari loop. Semuanya akan dilakukan secara otomatis.

>>> spisok = [10, 40, 20, 30]

>>> untuk elemen di spisok:

… cetak (elemen + 2)

...

12

42

22

32

Dalam contoh kami, kami menggunakan variabel elemen setelah perintah for. Secara umum, nama bisa apa saja. Misalnya, sebutan yang populer adalah i. Dan dengan setiap iterasi, variabel ini akan diberi objek tertentu dari daftar, yang kita sebut kata yang sesuai.

Dalam kasus kami, daftarnya adalah urutan angka 10,40,20,30. Pada setiap iterasi, nilai yang sesuai muncul dalam variabel. Misalnya, segera setelah loop dimulai, variabel elemen nilai 10 diberikan. Pada iterasi berikutnya, sepuluh berubah menjadi angka 40, ketiga kalinya berubah menjadi angka 20, dan terakhir, pada iterasi terakhir loop menjadi 30.

Sinyal untuk akhir siklus adalah akhir dari elemen dalam daftar.

Jika Anda membutuhkan loop untuk melakukan pencacahan nilai klasik, seperti dalam bahasa pemrograman lain, Anda harus membuat daftar dengan urutan bilangan asli hingga nilai yang kita butuhkan.

>>> spisok = [1,2,3,4,5]

Atau gunakan fungsi len(), untuk menentukan panjang daftar. Tetapi dalam hal ini lebih baik menggunakan loop sementara, karena tidak perlu menggunakan variabel.

Jika Anda perlu mengubah urutan nilai dalam daftar, loop untuk dan di sini datang untuk menyelamatkan. Untuk melakukan ini, pada setiap iterasi, setiap elemen daftar harus diberi nilai yang sesuai.

Sedangkan Loop

Berbeda dengan siklus untuk, yang hanya mengulangi nilai urutan, loop sementara memiliki lebih banyak kegunaan. Nama jenis siklus ini diterjemahkan sebagai “belum”. Artinya, “sampai”.

Ini adalah loop universal yang ditemukan di semua bahasa pemrograman. Dan dalam beberapa hal menyerupai operator bersyarat ya, yang melakukan pemeriksaan untuk melihat apakah kondisi tertentu terpenuhi. Hanya berbeda dengan operator kondisional, sementara melakukan pemeriksaan pada setiap iterasi, tidak hanya sekali. Dan hanya jika kondisinya salah, loop berakhir dan perintah yang mengikutinya dieksekusi. Dengan kata sederhana, jika situasi di mana dia bekerja tidak berlaku lagi.

Jika kita menggambar sebuah siklus sementara sederhananya, ini dilakukan dengan menggunakan skema seperti itu.while loop dengan Python. Cara kerjanya, contoh penggunaan

Cabang utama program (yang berjalan di luar loop) digambarkan dalam gambar ini dengan persegi panjang biru. Pirus mewakili tubuh siklus. Pada gilirannya, belah ketupat adalah kondisi yang diperiksa pada setiap iterasi.

Sepeda sementara dapat menghasilkan dua pengecualian:

  1. Jika pada awal loop ekspresi logis tidak mengembalikan true, maka itu tidak dimulai, setelah selesai sebelum dieksekusi. Secara umum, situasi ini normal, karena dalam keadaan tertentu, aplikasi mungkin tidak menyediakan ekspresi di badan loop.
  2. Jika ekspresi selalu benar, ini dapat menyebabkan loop. Artinya, untuk pengguliran siklus tanpa akhir. Oleh karena itu, dalam program tersebut, harus selalu ada pernyataan keluar dari loop atau program. Namun, situasi ini akan muncul jika program mampu menentukan benar atau salahnya suatu kondisi tertentu. Jika dia gagal melakukan ini, maka kesalahan dikembalikan dengan penghentian program. Atau Anda dapat menangani kesalahan, dan kemudian, jika itu terjadi, kode tertentu akan dieksekusi.

Mungkin ada banyak sekali opsi tentang cara menangani kesalahan. Misalnya, program mungkin meminta pengguna untuk memasukkan data dengan benar. Jadi, jika seseorang menunjukkan angka negatif yang hanya bisa positif, atau memasukkan huruf yang seharusnya hanya angka, program dapat memberitahukannya.

Contoh Perulangan Sementara

Berikut adalah contoh kode yang menangani kesalahan dalam kasus ini.

n = input(“Masukkan bilangan bulat : “) 

sementara ketik(n) != int:

    coba:

        n = ke dalam(n)

    kecuali ValueError:

        print("Entri salah!")

        n = input(“Masukkan bilangan bulat : “) 

jika n % 2 == 0:

    print("Genap")

lain:

    cetak("Ganjil")

Perlu diingat bahwa Python menggunakan titik dua untuk mendeklarasikan konstruksi kode yang kompleks.

Dalam kode di atas, kami mendefinisikan sebagai kondisi bahwa kami harus memeriksa apakah nomor tersebut bilangan bulat. Jika ya, maka false dikembalikan. Jika tidak, maka benar.

Di bagian kedua kode, di mana operator digunakan if, kami menggunakan operator % untuk menemukan sisanya setelah operasi pembagian. Langkah selanjutnya adalah memeriksa apakah angkanya genap. Jika tidak, maka sisanya adalah satu dalam kasus ini. Dengan demikian, jumlahnya ganjil. 

Secara sederhana, kode di atas pertama-tama memeriksa apakah string yang dimasukkan oleh pengguna adalah angka. Jika ya, maka pemeriksaan kedua dilakukan untuk melihat apakah ada sisa pembagian dua. Tetapi blok kedua tidak akan dieksekusi sampai nilai yang dimasukkan oleh pengguna adalah numerik.

Artinya, loop akan dieksekusi secara teratur sampai kondisi tersebut terjadi. Dalam situasi ini, ia bekerja seperti ini. 

Artinya, Anda dapat beralih dari kebalikannya: mengulang tindakan tertentu hingga peristiwa menjadi salah.

Penguraian kode

Sekarang mari kita lihat lebih detail bagaimana kode ini bekerja. Untuk melakukan ini, kami akan menganalisisnya selangkah demi selangkah.

  1. Pertama, pengguna memasukkan string, yang diterima oleh variabel n. 
  2. Menggunakan lingkaran sementara jenis variabel ini diperiksa. Pada entri pertama, itu tidak sama int. Oleh karena itu, sebagai hasil dari pengujian, ditemukan bahwa kondisi ini benar. Oleh karena itu, tubuh loop dimasukkan.
  3. Dengan bantuan operator mencoba kami mencoba mengonversi string menjadi angka. Jika ini dilakukan, maka tidak ada kesalahan yang terjadi. Dengan demikian, tidak perlu memprosesnya. Oleh karena itu interpreter kembali ke awal loop, dan menurut hasil pengecekan ternyata sudah menjadi integer. Jadi mari kita pergi ke langkah 7
  4. Jika konversi tidak berhasil, maka ValueError dilemparkan. Dalam hal ini, aliran program dikirim ke penangan kecuali.
  5. Pengguna memasukkan nilai baru, yang ditetapkan ke variabel n.
  6. Penerjemah kembali ke langkah 2 dan memeriksa lagi. Jika itu adalah nilai integer, lanjutkan ke langkah 7. Jika tidak, konversi dicoba lagi sesuai dengan langkah 3.
  7. Dengan bantuan operator if Menentukan apakah ada sisa setelah membagi angka dengan 2. 
  8. Jika tidak, teks "genap" dikembalikan.
  9. Jika tidak, teks "ganjil" dikembalikan.

Pertimbangkan sekarang contoh seperti itu. Coba tentukan berapa kali siklus ini akan dilalui?

jumlah = 100 

i = 0

sementara saya <5:

    n = int(masukan())

    total = jumlah — n

    i = i + 1 

print("Sisa", jumlah)

Jawaban yang benar adalah 5. Awalnya, nilai variabel i - nol. Penerjemah memeriksa apakah variabelnya sama i 4 atau kurang. Jika ya, maka nilainya dikembalikan. benar, dan loop dijalankan sesuai dengan itu. Nilainya bertambah satu.

Setelah iterasi pertama, nilai variabel menjadi 1. Pemeriksaan dilakukan, dan program memahami bahwa angka ini lagi-lagi kurang dari 5. Dengan demikian, badan perulangan dijalankan untuk kedua kalinya. Karena langkah-langkahnya serupa, nilainya juga bertambah satu, dan variabelnya sekarang sama dengan 2.

Nilai ini juga kurang dari lima. Kemudian loop dieksekusi untuk ketiga kalinya, ditambahkan ke variabel i 1 dan diberi nilai 3. Ini lagi-lagi kurang dari lima. Dan sampai pada iterasi keenam dari loop, di mana nilai variabel i sama dengan 5 (setelah semua, awalnya nol, sejauh yang kita ingat). Dengan demikian, kondisi ini tidak lulus pengujian, dan loop secara otomatis dihentikan dan transisi ke langkah berikutnya, yang berada di luarnya (atau penghentian program, jika langkah-langkah berikut tidak disediakan), dilakukan.

Siklus juga dapat terjadi dalam arah yang berlawanan. Berikut adalah contoh kode di mana, dengan setiap iterasi berikutnya, satu dikurangi dari nilai variabel saat ini. 

jumlah = 100 

sedangkan jumlah > 0:

    n = int(masukan())

    total = jumlah — n 

print("Sumber daya habis")

Coba tebak apa yang dilakukan program ini! Bayangkan bahwa dalam sebuah variabel total informasi tentang sumber daya program disimpan. Setiap kali penerjemah memeriksa apakah sumber daya ada. Jika tidak, maka teks "Sumber daya habis" ditampilkan dan program ditutup. Dan dengan setiap iterasi dari loop, sumber daya berkurang dengan jumlah yang ditentukan pengguna.

Dan sekarang pekerjaan rumah. Coba ubah kode di atas agar variabel tidak bisa secara fisik menjadi negatif. 

4 Komentar

  1. si kode ahaan usoo gudbi

Tinggalkan Balasan