(Python) Gelung. Gelung dengan pembilang - untuk


Gelung

Bayangkan situasi di mana kita perlu memaparkan perkataan "Hello" 10 kali. Apa yang perlu kita lakukan?
Anda boleh mengambil dan menulis arahan sebanyak 10 kali print("Hello") print("Hello") print("Hello") print("Hello") print("Hello") print("Hello") print("Hello") print("Hello") print("Hello") print("Hello") print("Hello")
Tetapi bagaimana jika anda tidak memerlukan 10 kali, tetapi 20, 30, 40 kali? Dan jika 200 kali? Dalam kes ini, penyalinan akan mengambil masa yang sangat lama. Dan jika perlu bahawa pengguna itu sendiri boleh memilih berapa kali dia perlu memaparkan beberapa maklumat pada skrin? 

Pembinaan khas akan membantu kami menangani tugasan ini, yang dipanggil gelung.
 
Gelung - adalah pembinaan algoritmik di mana urutan perintah tertentu diulang beberapa kali.< /div>
Dalam kebanyakan bahasa pengaturcaraan, terdapat dua jenis gelung: gelung dengan pembolehubah (for) dan gelung dengan keadaan (while)
Mari mulakan perkenalan kita dengan kitaran dari jenis pertama.
 

Gelung dengan pembolehubah atau dengan bilangan langkah yang diketahui (gelung untuk)

Selalunya berlaku bahawa kita mengetahui bilangan ulangan apa-apa tindakan, atau kita boleh mengira bilangan ulangan menggunakan data yang diketahui oleh kita. Sesetengah bahasa pengaturcaraan mempunyai arahan yang ditulis dalam bahasa Rusia dengan arahan
ULANG (bilangan_pengulangan).

Dalam kes ini, kami boleh menentukan bilangan ulangan tertentu. 
Adalah menarik untuk melihat bagaimana kitaran ini berfungsi pada peringkat mesin:
1. sel memori tertentu diperuntukkan dalam ingatan dan bilangan ulangan ditulis kepadanya,
2. apabila atur cara melaksanakan badan gelung sekali, kandungan sel ini (kaunter) dikurangkan dengan satu.
3. pelaksanaan gelung tamat apabila sel ini sifar.

Tiada binaan sedemikian dalam Python, tetapi terdapat for.
 
Perlu diingat!
Bentuk umum pengendali gelung for adalah seperti berikut: untuk <kira pembolehubah> dalam <nilai pembolehubah balas>:     # badan gelung
1. Nama pembolehubah pembilang boleh apa-apa sahaja (lebih kerap mereka menggunakan huruf i)
2. Badan gelung ditulis dengan anjakan ke kanan, berbanding dengan garisan dengan pengepala gelung (untuk). Standard PEP8 beralih sebanyak 4 ruang.
 
Mari lihat contoh bagaimana anda boleh menulis output perkataan "Hello" 10 kali.
 
Contoh 1
untuk i dalam julat(10): # untuk pembolehubah i boleh ubah dalam julat (dalam julat)   # 0 hingga 10 (10 tidak termasuk) print("Hello") # print Hello Pembolehubah   ialah pembilang bagi lelaran (langkah) yang lengkap bagi gelung. Dalam kes ini, gelung berjalan untuk i = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Itu betul-betul 10 kali ganda.
Program yang sama boleh ditulis secara berbeza.
 
Contoh 2
untuk i dalam [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]: print("Hello") Dalam contoh 2, kami menyenaraikan semua nilai pembolehubah i yang perlu kami gelung. Dengan bilangan nilai yang banyak, adalah lebih mudah untuk menggunakan fungsi terbina dalamjulat().
Urutan nilai yang dibina oleh fungsi julat() adalah terhingga. Gelung akan sentiasa tamat. 

Ciri gelung for

Bagaimana untuk menukar langkah dalam urutan nilai dan tidak bermula dari awal? Fungsi  range(), secara lalai, membina jujukan di mana setiap nombor seterusnya adalah 1 lebih besar daripada yang sebelumnya. Anda boleh menggunakan julat fungsi dalam entri lain.

Bentuk umum entri fungsi adalah seperti berikut: julat([mula], berhenti[, langkah])
  • mula: nombor mula jujukan.
  • berhenti: menjana nombor sehingga tetapi tidak termasuk nombor yang diberikan.
  • langkah: perbezaan antara setiap nombor dalam urutan (langkah)

Anda perlu ingat!
  • Semua parameter mestilah integer:
  • Setiap parameter boleh sama ada positif atau negatif.
  • range() (dan Python secara umum) adalah berdasarkan indeks 0. Ini bermakna senarai indeks bermula pada 0, bukan 1.  Integer terakhir yang dijana oleh fungsi  julat() bergantung pada berhenti tetapi tidak akan memasukkannya. Contohnya, julat(0, 5) menjana integer 0, 1, 2, 3, 4, tidak termasuk 5.


Contoh 1
untuk i dalam julat (10, 0, -1): cetak(i*i) Program ini memaparkan petak nombor asli dari 10 hingga 1 dalam susunan menurun
  • 10: Nombor pertama dalam jujukan.
  • 0: nombor akhir jujukan (tidak termasuk nombor ini).
  • -1: langkah


Contoh 2
untuk i dalam julat (0, 101, 5): cetak(i) Program ini memaparkan semua nombor dari 0 hingga 100 dalam kenaikan 5
  • 0: Nombor pertama dalam jujukan.
  • 101: nombor akhir jujukan (tidak termasuk nombor ini).
  • 5: langkah

Ulang N kali

Semua program dengan gelung for yang telah kami tulis setakat ini tidak boleh dipanggil universal. Kerana kami sendiri menetapkan bilangan ulangan badan gelung. 
Tetapi bagaimana jika bilangan ulangan bergantung pada beberapa nilai lain? Sebagai contoh, pengguna sendiri ingin menetapkan bilangan ulangan kitaran.
Apa yang perlu dilakukan dalam kes ini?
Semuanya sangat mudah. Daripada nilai mula dan tamat angka, kita boleh menggunakan sebarang pembolehubah yang boleh dikira atau ditetapkan oleh pengguna.

Sebagai contoh, kita perlu memaparkan petak nombor daripada 1 hingga N, di mana nilai pembolehubah N dimasukkan daripada papan kekunci oleh pengguna.
Program ini akan kelihatan seperti ini: N = int(input()) # input N daripada papan kekunci untuk i dalam julat(1, N+1): # gelung: untuk semua i dari 1 hingga N  - pembolehubah i # akan mengambil nilai secara berurutan dari 1 hingga N   print("petak", i, "=", i*i)  # cetak kuasa dua nombor Apabila memasuki gelung, pernyataan tugasan i = 1 dilaksanakan, dan kemudian pembolehubah i ditambah satu dengan setiap langkah (i += 1). Gelung dilaksanakan manakala syarat i <= N adalah benar. Dalam badan gelung, satu-satunya pernyataan output mencetak nombor itu sendiri dan segi empat samanya pada skrin mengikut format yang ditentukan.
Untuk kuasa dua atau eksponen rendah yang lain, lebih baik menggunakan pendaraban.

Jalankan atur cara dan lihat hasil kerjanya dengan nilai berbeza bagi pembolehubah N.