manakala gelung dalam Python. Bagaimana ia berfungsi, contoh penggunaan

Gelung adalah salah satu alat utama mana-mana bahasa. Terdapat dua gelung asas dalam Python, salah satunya ialah while. Pertimbangkan, dan juga untuk pemahaman yang lebih baik tentang gambar itu, satu lagi. Sesungguhnya, jika dibandingkan dengan sesuatu yang serupa, lebih mudah untuk memahami apa-apa bahan, bukan?

Konsep kitaran

Gelung diperlukan apabila tindakan tertentu perlu dilakukan beberapa kali. Ini sangat mudah, kerana pada hakikatnya julat aplikasi untuk kitaran adalah lebih luas. Terdapat dua jenis gelung utama dalam Python: untuk dan sementara. Yang paling popular adalah untuk.

Selain tindakan tertentu, anda boleh menggelungkan kepingan kod yang berbeza sehingga satu titik tertentu. Ini boleh menjadi beberapa kali tertentu, atau selagi syarat tertentu adalah benar.

Sebelum kita mula memahami jenis gelung dan sementara, khususnya, kita masih perlu memahami apa itu lelaran. Ini adalah satu pengulangan tindakan atau urutan tindakan semasa kitaran semasa dalam aplikasi semasa dijalankan.

Kitaran Untuk

Gelung For kami bukan pembilang, seperti dalam banyak bahasa lain. Tugasnya adalah untuk menghitung urutan nilai tertentu. Apakah maksud ini? Katakan kita mempunyai senarai elemen. Pertama, gelung mengambil yang pertama, kedua, ketiga, dan seterusnya.

Kelebihan gelung ini dalam Python ialah anda tidak perlu menentukan indeks elemen untuk mengetahui bila hendak keluar dari gelung. Semuanya akan dilakukan secara automatik.

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

>>> untuk elemen dalam spisok:

… cetak(elemen + 2)

...

12

42

22

32

Dalam contoh kami, kami menggunakan pembolehubah elemen selepas perintah untuk. Secara umum, nama itu boleh apa-apa. Sebagai contoh, sebutan yang popular ialah i. Dan dengan setiap lelaran, pembolehubah ini akan diberikan objek tertentu daripada senarai, yang kami panggil perkataan yang sesuai.

Dalam kes kami, senarai itu adalah urutan nombor 10,40,20,30. Pada setiap lelaran, nilai yang sepadan muncul dalam pembolehubah. Sebagai contoh, sebaik sahaja gelung bermula, pembolehubah elemen nilai 10 diberikan. Pada lelaran seterusnya, sepuluh bertukar menjadi nombor 40, kali ketiga bertukar menjadi nombor 20, dan akhirnya, pada lelaran terakhir gelung, ia bertukar menjadi 30.

Isyarat untuk penghujung kitaran ialah penghujung elemen dalam senarai.

Jika anda memerlukan gelung untuk melaksanakan penghitungan nilai klasik, seperti dalam bahasa pengaturcaraan lain, anda harus membuat senarai dengan urutan nombor asli sehingga nilai yang kami perlukan.

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

Atau gunakan fungsi tersebut hanya(), untuk menentukan panjang senarai. Tetapi dalam kes ini lebih baik menggunakan gelung sementara, kerana tidak perlu menggunakan pembolehubah.

Jika anda perlu menukar urutan nilai dalam senarai, gelung Untuk dan di sini datang untuk menyelamatkan. Untuk melakukan ini, pada setiap lelaran, setiap elemen senarai mesti diberikan nilai yang sesuai.

Semasa Gelung

Berbeza dengan kitaran Untuk, yang hanya berulang pada nilai jujukan, gelung manakala mempunyai lebih banyak kegunaan. Nama jenis kitaran ini diterjemahkan sebagai "belum". Iaitu, "sehingga".

Ini adalah gelung universal yang terdapat dalam semua bahasa pengaturcaraan. Dan dalam beberapa cara ia menyerupai pengendali bersyarat yew, yang melakukan semakan untuk melihat sama ada syarat tertentu dipenuhi. Hanya berbeza dengan pengendali bersyarat, manakala melakukan semakan pada setiap lelaran, bukan sekali sahaja. Dan hanya jika syarat itu palsu, gelung berakhir dan arahan yang mengikutinya dilaksanakan. Dengan kata mudah, jika keadaan di mana dia bekerja tidak lagi sah.

Jika kita melukis kitaran manakala secara mudahnya, ini dilakukan menggunakan skema sedemikian.manakala gelung dalam Python. Bagaimana ia berfungsi, contoh penggunaan

Cawangan utama program (yang berjalan di luar gelung) digambarkan dalam angka ini dengan segi empat tepat biru. Turquoise mewakili badan kitaran. Sebaliknya, rombus ialah keadaan yang diperiksa pada setiap lelaran.

kitaran manakala boleh mengakibatkan dua pengecualian:

  1. Jika pada permulaan gelung ungkapan logik tidak kembali benar, maka ia tidak bermula, setelah selesai sebelum pelaksanaan. Secara umum, keadaan ini adalah perkara biasa, kerana dalam keadaan tertentu, aplikasi mungkin tidak menyediakan kehadiran ungkapan dalam badan gelung.
  2. Jika ungkapan itu sentiasa benar, ini boleh membawa kepada gelung. Iaitu, kepada tatal tanpa henti kitaran. Oleh itu, dalam program sedemikian, perlu sentiasa ada pernyataan keluar dari gelung atau program. Namun, keadaan ini akan timbul sekiranya program tersebut dapat menentukan kebenaran atau kepalsuan sesuatu syarat. Jika dia gagal melakukan ini, maka ralat dikembalikan dengan penamatan program. Atau anda boleh mengendalikan ralat, dan kemudian, jika ia berlaku, kod tertentu akan dilaksanakan.

Terdapat banyak pilihan untuk cara menangani ralat. Sebagai contoh, program mungkin meminta pengguna memasukkan data dengan betul. Jadi, jika seseorang menunjukkan nombor negatif di mana ia hanya boleh positif, atau memasukkan huruf di mana hanya nombor sepatutnya, program boleh memberitahu tentangnya.

Contoh Gelung Manakala

Berikut ialah contoh kod yang mengendalikan ralat dalam kes ini.

n = input(“Masukkan integer: “) 

while type(n) != int:

    cuba:

        n = int(n)

    kecuali ValueError:

        print(“Entri salah!”)

        n = input(“Masukkan integer: “) 

jika n % 2 == 0:

    cetak("Genap")

lain:

    cetak("Ganjil")

Perlu diingat bahawa Python menggunakan titik bertindih untuk mengisytiharkan binaan kod yang kompleks.

Dalam kod di atas, kami takrifkan sebagai syarat bahawa kami harus menyemak sama ada nombor itu ialah integer. Jika ya, maka palsu dikembalikan. Jika tidak, maka benar.

Di bahagian kedua kod, di mana pengendali digunakan if, kami menggunakan operator % untuk mencari baki selepas operasi bahagi. Langkah seterusnya ialah menyemak sama ada nombor itu genap. Jika tidak, maka bakinya adalah satu dalam kes ini. Oleh itu, bilangannya adalah ganjil. 

Secara ringkasnya, kod di atas terlebih dahulu menyemak sama ada rentetan yang dimasukkan oleh pengguna ialah nombor. Jika ya, maka semakan kedua dibuat untuk melihat sama ada terdapat baki pembahagian sebanyak dua. Tetapi blok kedua tidak akan dilaksanakan sehingga nilai yang dimasukkan oleh pengguna adalah angka.

Iaitu, gelung akan dilaksanakan secara berkala sehingga keadaan berlaku. Dalam keadaan ini, ia berfungsi seperti ini. 

Iaitu, anda boleh pergi dari sebaliknya: gelung tindakan tertentu sehingga acara itu menjadi palsu.

Penghuraian kod

Sekarang mari kita lihat dengan lebih terperinci bagaimana kod ini berfungsi. Untuk melakukan ini, kami akan menganalisis langkah demi langkah.

  1. Pertama, pengguna memasukkan rentetan, yang diterima oleh pembolehubah n. 
  2. Menggunakan gelung manakala jenis pembolehubah ini disemak. Pada entri pertama, ia tidak sama int. Oleh itu, hasil daripada ujian, didapati syarat ini adalah benar. Oleh itu, badan gelung dimasukkan.
  3. Dengan bantuan operator cubalah kami cuba menukar rentetan kepada nombor. Jika ini dilakukan, maka tiada ralat berlaku. Sehubungan itu, tidak perlu memprosesnya. Oleh itu, jurubahasa kembali ke permulaan gelung, dan mengikut hasil semakan, ternyata ia telah menjadi integer. Jadi mari kita pergi ke langkah 7
  4. Jika penukaran tidak berjaya, maka ValueError akan dilemparkan. Dalam kes ini, aliran program dihantar kepada pengendali kecuali.
  5. Pengguna memasukkan nilai baru, yang diberikan kepada pembolehubah n.
  6. Jurubahasa kembali ke langkah 2 dan menyemak semula. Jika ia adalah nilai integer, pergi ke langkah 7. Jika tidak, penukaran dicuba sekali lagi mengikut langkah 3.
  7. Dengan bantuan operator if Menentukan jika terdapat baki selepas membahagikan nombor dengan 2. 
  8. Jika tidak, teks "genap" dikembalikan.
  9. Jika tidak, teks "ganjil" dikembalikan.

Pertimbangkan sekarang contoh sedemikian. Cuba tentukan berapa kali kitaran ini akan dilalui?

jumlah = 100 

i = 0

manakala saya < 5:

    n = int(input())

    jumlah = jumlah — n

    i = i + 1 

print("Baki", jumlah)

Jawapan yang betul ialah 5. Pada mulanya, nilai pembolehubah i – sifar. Jurubahasa menyemak sama ada pembolehubah adalah sama i 4 atau kurang. Jika ya, maka nilai dikembalikan. benar, dan gelung dilaksanakan dengan sewajarnya. Nilai meningkat satu.

Selepas lelaran pertama, nilai pembolehubah menjadi 1. Semakan dilakukan, dan program memahami bahawa nombor ini sekali lagi kurang daripada 5. Oleh itu, badan gelung dilaksanakan untuk kali kedua. Oleh kerana langkah-langkahnya adalah serupa, nilai juga dinaikkan sebanyak satu, dan pembolehubah kini bersamaan dengan 2.

Nilai ini juga kurang daripada lima. Kemudian gelung dilaksanakan kali ketiga, ditambah pada pembolehubah i 1 dan ia diberikan nilai 3. Ini sekali lagi kurang daripada lima. Dan seterusnya ia datang kepada lelaran keenam gelung, di mana nilai pembolehubah i sama dengan 5 (lagipun, ia pada asalnya sifar, setakat yang kita ingat). Sehubungan itu, syarat ini tidak lulus ujian, dan gelung ditamatkan secara automatik dan peralihan ke langkah seterusnya, yang berada di luarnya (atau penamatan program, jika langkah berikut tidak disediakan), dijalankan.

Kitaran juga boleh berlaku dalam arah yang bertentangan. Berikut ialah contoh kod di mana, dengan setiap lelaran berikutnya, satu ditolak daripada nilai semasa pembolehubah. 

jumlah = 100 

manakala jumlah > 0:

    n = int(input())

    jumlah = jumlah — n 

print("Sumber habis")

Cuba teka apa yang program ini lakukan! Bayangkan bahawa dalam pembolehubah jumlah maklumat tentang sumber program disimpan. Setiap kali jurubahasa menyemak sama ada sumber itu wujud. Jika tidak, maka teks "Sumber habis" dipaparkan dan program ditutup. Dan dengan setiap lelaran gelung, sumber berkurangan mengikut bilangan yang ditentukan oleh pengguna.

Dan sekarang kerja rumah. Cuba tukar kod di atas supaya pembolehubah tidak boleh menjadi negatif secara fizikal. 

4 Komen

  1. si code ahaan usoo gudbi

Sila tinggalkan balasan anda