Rumah >pembangunan bahagian belakang >Tutorial Python >Dalam Python, apakah perbezaan antara gelung for dan gelung while?

Dalam Python, apakah perbezaan antara gelung for dan gelung while?

WBOY
WBOYke hadapan
2023-09-09 15:37:021697semak imbas

Dalam Python, apakah perbezaan antara gelung for dan gelung while?

Dalam artikel ini, kita akan memahami perbezaan antara gelung "untuk" dan gelung "semasa".

Untuk gelung

A untuk gelung ialah pernyataan aliran kawalan yang melaksanakan kod untuk bilangan lelaran yang telah ditetapkan. Kata kunci yang digunakan dalam pernyataan aliran kawalan ini ialah "untuk". Gunakan gelung for apabila bilangan lelaran diketahui.

Gelung for terbahagi kepada dua bahagian -

Tajuk - Bahagian ini menentukan lelaran gelung. Dalam bahagian pengepala, pembolehubah gelung juga diisytiharkan, yang memberitahu badan lelaran yang sedang dilaksanakan.

Body - Bahagian badan mengandungi pernyataan yang dilaksanakan untuk setiap lelaran.

  • Pernyataan permulaan, semakan keadaan dan lelaran semuanya ditulis pada permulaan gelung.

  • Gunakannya hanya apabila bilangan lelaran diketahui terlebih dahulu.

  • Jika tiada syarat disebut dalam gelung "untuk", gelung akan berulang kali tanpa had.

  • Inisialisasi hanya dilakukan sekali dan tidak akan berulang.

  • Pernyataan lelaran ditulis pada permulaan.

  • Jadi ia akan dilaksanakan sebaik sahaja semua pernyataan dalam gelung telah dilaksanakan.

Tatabahasa

for(initialization; condition; iteration){
   //body of the 'for' loop
}

Contoh

Atur cara berikut menggunakan gelung for untuk mencetak semua elemen senarai -

# input list
inputList = [10, 20, 30, 40, 50]
print("Input list elements:")
# traversing through all elements of the list using for loop
for element in inputList:
   # printing each element of the list
   print(element)

Output

Apabila dilaksanakan, program di atas akan menjana output berikut -

Input list elements:
10
20
30
40
50

While loop

Gelung yang menjalankan satu pernyataan atau satu set pernyataan terhadap keadaan sebenar yang diberikan. Gelung ini diwakili oleh kata kunci "semasa". Gelung "semasa" digunakan apabila bilangan lelaran tidak diketahui. Ulangi pernyataan ini sehingga nilai Boolean adalah palsu. Oleh kerana keadaan diuji pada permulaan gelung while, ia juga dipanggil gelung pra-ujian.

  • Semakan permulaan dan keadaan dilakukan pada permulaan gelung.

  • Hanya digunakan apabila bilangan lelaran tidak diketahui.

  • Jika tiada syarat dinyatakan dalam gelung "semasa", ia akan menyebabkan ralat kompilasi.

  • Jika pemulaan dilakukan semasa menyemak keadaan, maka pemula akan berlaku setiap kali gelung diulang.

  • Pernyataan lelaran boleh ditulis pada mana-mana titik dalam gelung.

Tatabahasa

while ( condition) {
   statements;
   //body of the loop
}

Contoh

Atur cara berikut menggunakan gelung for untuk mencetak semua elemen senarai -

# Initializing a dummy variable with 1
i = 1
# Iterate until the given condition is true
while i < 10:
   # printing the current value of the above variable
   print(i)
   # incrementing the value of i value by 1
   i += 1 

Output

Apabila dilaksanakan, program di atas akan menjana output berikut -

1
2
3
4
5
6
7
8
9

Bilakah anda harus menggunakan gelung For dan While?

Gelung untuk digunakan apabila kita mengetahui bilangan lelaran (iaitu berapa kali pernyataan mesti dilaksanakan). Itulah sebabnya apabila kita memulakan gelung for, kita perlu menentukan titik akhir.

Apabila bilangan lelaran tidak diketahui, gunakan gelung sementara. Ini boleh digunakan apabila kita perlu menamatkan gelung berdasarkan syarat selain daripada bilangan ulangan. Dalam kes ini, tidak perlu mengetahui keadaan terlebih dahulu. Itulah sebabnya kita boleh menggunakan ungkapan boolean dalam permulaan gelung.

Tanpa syarat

Jika tiada syarat dinyatakan dalam gelung for dan while, gelung akan berulang tanpa had.

Tanpa syarat, berikut adalah perbezaan antara gelung for dan gelung while -

Untuk Gelung - Dalam contoh di bawah, gelung akan berjalan dalam masa yang tidak terhingga.

Contoh

l = [1]
for m in l:
   print("TutorialsPoint")
   l.append(m)

Output

Apabila dilaksanakan, program di atas akan menjana output berikut -

TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
.
.
.
.
runs infinite times

Kami bermula dengan senarai dan memulakannya dengan satu nilai rawak. Kemudian, menggunakan gelung for dan pengendali dalam, kami mengulangi elemen senarai. Di dalam gelung ia akan mencetak beberapa teks rawak dan kemudian kami menambah elemen lain pada senarai supaya gelung for akan dilaksanakan semula kerana elemen baharu. Gelung ini akan dilaksanakan beberapa kali tidak terhingga.

While Loop - Dalam contoh di bawah, gelung akan dijalankan dalam bilangan kali yang tidak terhingga.

Contoh

while True:
   print("TutorialsPoint")

Output

Apabila dilaksanakan, program di atas akan menjana output berikut -

TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
.
.
.
.
runs infinite times

差异表

比较基础 For循环 While循环
关键字 使用for关键字 使用while关键字
已使用 当迭代次数已知时,使用 For 循环。 当迭代次数未知时使用While循环。
不存在条件 不存在条件时循环无限次运行 在不存在条件的情况下返回编译时错误
初始化的性质 一旦完成,不可重复 在while循环中,每次迭代都可以重复。
函数 要进行迭代,请使用 range 或 xrange 函数。 while循环中没有这样的函数。
基于迭代的初始化 在循环开始时完成。 在 while 循环中,可以在循环体中的任何位置执行此操作。
生成器支持 Python 的 for 循环可以迭代生成器。 While 循环不能直接在生成器上迭代。
速度 for 循环比 while 循环更快。 与 for 循环相比,While 循环相对较慢。

结论

在本文中,我们通过示例了解了 for 和 while 循环之间的区别,以及 while 和 for 循环的工作原理。

Atas ialah kandungan terperinci Dalam Python, apakah perbezaan antara gelung for dan gelung while?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam