Kandungan
- Untuk Gelung
- Pengulangan Atas Blok Bangunan Urutan
- Pengulangan Lebih Berurutan Menggunakan Indeks dan Julat
- Gelung Sementara
- Gelung bersarang
- Penyataan Kawalan Gelung
Saya seorang pembangun perisian yang berminat dengan analisis data dan statistik.
Looping konstruk dalam mana-mana bahasa pengaturcaraan digunakan untuk melakukan urutan langkah berulang kali untuk sebilangan kali. Python membenarkan dua jenis gelung: gelung untuk gelung dan gelung sementara. Anda juga boleh menambahkan gelung dalam gelung lain dan membuat gelung bersarang di Python.
Untuk Gelung
Semasa melakukan lelaran ke atas a tuple atau senarai, kita boleh menggunakan indeks dan menulis tradisional untuk gelung yang serupa dengan yang terdapat di C / C ++ atau menulis gelung untuk setiap urutan yang serupa dengan di Jawa. Mari kita ketahui lebih lanjut mengenai gelung.
Pengulangan Atas Blok Bangunan Urutan
#! / usr / bin / python3 print ("Mencetak huruf rentetan di setiap baris ...") untuk cur di 'Hello World!': print (cur) rhymes = ['Mary', 'Had', 'A' , 'Little', 'Lamb'] cetak ("Mencetak perkataan dalam sajak di setiap baris ...") untuk kata dalam sajak: cetak (perkataan) cetak ("... Mencapai akhir ...")
Pada gelung pertama untuk gelung, kami mengambil rentetan rentetan ‘HelloWorld!’ Dan mengulanginya menggunakan lelaran pemboleh ubah. Secara umum, sintaks jenis gelung ini dapat dinyatakan sebagai:
untuk iter_var mengikut urutan: # langkah di dalam untuk gelung.
Dua gelung pertama menunjukkan bagaimana huruf dalam rentetan dan kata-kata dalam senarai yang mewakili frasa diperlakukan sebagai blok penyusun urutan individu.
Hasil untuk program di atas adalah:
Mencetak huruf rentetan di setiap baris ...
H
e
l
l
o
W
o
r
l
d
!
Mencetak perkataan dalam sajak di setiap baris ...
Maria
Telah
A
Sedikit
Anak domba ... Mencapai penghujung ...
Jenis gelung ini dapat digunakan jika ada tuple atau kamus juga. Kod di bawah menunjukkan cara melakukan lelaran ke atas kamus dengan mempertimbangkan kunci atau pasangan nilai-kunci sebagai blok penyusun urutan.
#! / usr / bin / python3 print ("Iterating over a dictionary") studentDict = {'firstName': 'john', 'lastName': 'Smith', 'age': 29, 'studentId': 415312} cetak ( "Mengulang menggunakan kunci sahaja untuk gelung") untuk memasukkan studentDict: print ("key:", key, ", value:", studentDict [key]) print ("Iterating using key and value") untuk foo, bar dalam studentDict.items (): print ("key:", foo, ", value:", bar) print ("... Mencapai akhir ...")
Pada gelung pertama untuk gelung, kami mengulangi kamus menggunakan kunci sahaja. Pada gelung kedua untuk gelung, kedua-dua kunci dan nilai digunakan sebagai pemboleh ubah lelaran untuk melakukan iterasi atas item dalam kamus bernama "studentDict". Perhatikan bahawa tidak wajib menyebutkan nama sebagai 'kunci' dan 'nilai' selalu dalam lingkaran dan untuk menunjukkannya, kami telah menggunakan foo dan bar.
Keluaran untuk kod di atas adalah:
Mengulangi kamus
Pengulangan menggunakan kunci sahaja untuk gelung
kunci: nama pertama, nilai: john
kunci: studentId, nilai: 415312
kunci: nama akhir, nilai: Smith
kunci: umur, nilai: 29
Pengulangan menggunakan kunci dan nilai
kunci: nama pertama, nilai: john
kunci: studentId, nilai: 415312
kunci: nama akhir, nilai: Smith
kunci: umur, nilai: 29
Pengulangan Lebih Berurutan Menggunakan Indeks dan Julat
Ini serupa dengan gelung yang kita lihat dalam bahasa seperti C / C ++ / Java dll. Unsur-unsur urutan tertentu diakses menggunakan indeks.
Fungsi range () digunakan untuk mengembalikan julat nilai mulai dari nol sebagai batas bawah ke nilai yang disebut sebagai parameter di batas atas. Adalah mungkin untuk mendapatkan sub-range dengan menyebut batas bawah dan batas atas.
Sebagai contoh, julat (2,6) mengembalikan 2, 3, 4, 5 sedangkan julat (3) akan mengembalikan 0, 1, 2. Dalam kod berikut, kita menggunakan rentang (len (sajak)) untuk mengarahkan python untuk berulang kedudukan 0, 1, 2, hingga sajak [panjang - 1] dan mencetak nilainya.
#! / usr / bin / python3 rhymes = ['Mary', 'Had', 'A', 'Little', 'Lamb'] cetak ("Mencetak setiap perkataan dalam baris baru yang diakses oleh indeks.") untuk indeks dalam jarak (len (sajak)): cetak (sajak [indeks])
Keluaran untuk kod di atas adalah:
Mencetak setiap perkataan dalam baris baru yang diakses oleh indeks.
Maria
Telah
A
Sedikit
Gelung Sementara
Sintaks umum loop sementara boleh ditunjukkan sebagai berikut:
semasa keadaan: # lakukan langkah-langkah ini
Ia berulang kali melaksanakan langkah-langkah selagi syarat itu berlaku. Oleh itu, gelung tak terhingga dapat ditulis dengan mudah menggunakan loop sementara ini seperti bagaimana kita membuatnya di C / C ++ / Java menggunakan:
test = 1 sambil test == 1: # lakukan langkah-langkah ini tanpa had berkali-kali
Dalam program berikut, kami mencetak nombor dari 11 hingga 20 menggunakan gelung sementara sementara.
#! / usr / bin / python3 print ("Counting from 11 to 20") count = 11 manakala count = 20: print (count) count = count + 1
Hasil daripada program di atas adalah seperti berikut:
Mengira dari 11 hingga 20
11
12
13
14
15
16
17
18
19
Gelung bersarang
Adalah mungkin untuk bersarang gelung dalam gelung lain. Pertimbangkan contoh program berikut. Ia direka untuk mencetak piramid nombor dengan cara berikut:
1
1 2
1 2 3
…
1 2 3… n
#! / usr / bin / python3 # Program untuk mencetak piramid nombor seperti: untuk i dalam julat (1,6): untuk j dalam julat (1, i + 1): cetak (j, akhir = "") cetak ( ""
Pada gelung pertama untuk gelung, kami menentukan had bawah julat sebagai 1 dan had atas sebagai 5 + 1. Pada gelung kedua, kami menentukan julat dari 1 hingga i + 1 untuk setiap baris. Perhatikan bahawa pernyataan cetak mempunyai parameter bernama end = ”“.
Ini untuk mengarahkan jurubahasa untuk mencetak output lebih jauh dalam baris yang sama dan semua output ini harus dipisahkan menggunakan watak khas yang ditunjukkan. Sekiranya pernyataan diubah menjadi cetak (j, end =’, ’), semua nombor akan mempunyai tanda koma. Hasil untuk program di atas adalah:
1
1 2
1 2 3
1 2 3 4
Penyataan Kawalan Gelung
Python menawarkan tiga pernyataan kawalan:
- Pernyataan rehat: Ia mengakhiri pernyataan gelung dan memindahkan kawalan di luar skop ke pernyataan berikutnya yang mengikuti gelung.
- Teruskan pernyataan: Ini menyebabkan gelung melangkau langkah-langkah gelung yang tersisa tetapi teruskan dengan lelaran seterusnya.
- Penyataan lulus: Selalunya berguna untuk menyahpepijat kod. Tidak ada yang benar-benar berlaku semasa penyataan itu dilaksanakan.
Mari kita ketahui lebih lanjut mengenai pernyataan ini dengan contoh:
Cetakan #! / usr / bin / python3 ('Mencetak huruf di Welcome to letter l') untuk huruf di 'Welcome': if letter == 'l': break print (letter, end = ",") print ("" ) cetak ('Mencetak huruf di alu-alukan setelah menghilangkan l') untuk huruf di 'Selamat Datang': jika huruf == 'l': lanjutkan cetak (huruf, akhir = ",") cetak ("") cetak ("Menambah blok lulus ketika saya ditemui ") untuk huruf di 'Welcome': if letter == 'l': pass print (" ") print (" Encountered pass block ") print (" Continue printing ") print (letter, end =", ")
Keluaran kod di atas adalah seperti berikut:
Mencetak surat dalam Welcome to surat l
W, e,
Mencetak surat dialu-alukan setelah menghilangkan l
Kami datang,
Menambah blok hantaran ketika saya ditemui
W, e,
Blok hantaran berhadapan
Teruskan mencetak
l, c, o, m, e,