Get started learning Python with DataCamp's free Intro to Python tutorial. Learn Data Science by completing interactive coding challenges and watching videos by expert instructors. Start Now!
This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join 11 million other learners and get started learning Python for data science today!
Good news! You can save 25% off your Datacamp annual subscription with the code LEARNPYTHON23ALE25 - Click here to redeem your discount
Gelung
Terdapat dua jenis gelung dalam Python, for dan while.
Gelung "for"
Gelung for mengulang melalui urutan yang diberikan. Berikut adalah satu contoh:
primes = [2, 3, 5, 7]
for prime in primes:
print(prime)
Gelung for boleh mengulang melalui urutan nombor menggunakan fungsi "range" dan "xrange". Perbezaan antara range dan xrange adalah fungsi range mengembalikan senarai baru dengan nombor dalam julat yang ditentukan, manakala xrange mengembalikan iterator, yang lebih cekap. (Python 3 menggunakan fungsi range, yang bertindak seperti xrange). Perhatikan bahawa fungsi range adalah berdasarkan sifar.
# Mencetak nombor 0,1,2,3,4
for x in range(5):
print(x)
# Mencetak 3,4,5
for x in range(3, 6):
print(x)
# Mencetak 3,5,7
for x in range(3, 8, 2):
print(x)
Gelung "while"
Gelung while mengulang selagi suatu syarat boolean tertentu dipenuhi. Contohnya:
# Mencetak 0,1,2,3,4
count = 0
while count < 5:
print(count)
count += 1 # Ini sama dengan count = count + 1
Pernyataan "break" dan "continue"
break digunakan untuk keluar daripada gelung for atau while, manakala continue digunakan untuk melangkau blok semasa, dan kembali kepada pernyataan "for" atau "while". Beberapa contoh:
# Mencetak 0,1,2,3,4
count = 0
while True:
print(count)
count += 1
if count >= 5:
break
# Mencetak hanya nombor ganjil - 1,3,5,7,9
for x in range(10):
# Semak jika x adalah genap
if x % 2 == 0:
continue
print(x)
Bolehkah kita menggunakan klausa "else" untuk gelung?
Tidak seperti bahasa seperti C, CPP.. kita boleh menggunakan else untuk gelung. Apabila syarat gelung pernyataan "for" atau "while" gagal, maka bahagian kod dalam "else" akan dijalankan. Jika pernyataan break dilaksanakan dalam gelung for, bahagian "else" akan dilangkau. Perhatikan bahawa bahagian "else" dijalankan walaupun terdapat pernyataan continue.
Berikut adalah beberapa contoh:
# Mencetak 0,1,2,3,4 dan kemudian mencetak "nilai count mencapai 5"
count=0
while(count<5):
print(count)
count +=1
else:
print("nilai count mencapai %d" %(count))
# Mencetak 1,2,3,4
for i in range(1, 10):
if(i%5==0):
break
print(i)
else:
print("ini tidak dicetak kerana gelung for ditamatkan kerana break tetapi bukan kerana gagal syarat")
Latihan
Gelung melalui dan cetak semua nombor genap dari senarai nombor dalam urutan yang sama seperti diterima. Jangan cetak sebarang nombor yang muncul selepas 237 dalam urutan.
numbers = [
951, 402, 984, 651, 360, 69, 408, 319, 601, 485, 980, 507, 725, 547, 544,
615, 83, 165, 141, 501, 263, 617, 865, 575, 219, 390, 984, 592, 236, 105, 942, 941,
386, 462, 47, 418, 907, 344, 236, 375, 823, 566, 597, 978, 328, 615, 953, 345,
399, 162, 758, 219, 918, 237, 412, 566, 826, 248, 866, 950, 626, 949, 687, 217,
815, 67, 104, 58, 512, 24, 892, 894, 767, 553, 81, 379, 843, 831, 445, 742, 717,
958, 609, 842, 451, 688, 753, 854, 685, 93, 857, 440, 380, 126, 721, 328, 753, 470,
743, 527
]
# your code goes here
for number in numbers:
numbers = [
951, 402, 984, 651, 360, 69, 408, 319, 601, 485, 980, 507, 725, 547, 544,
615, 83, 165, 141, 501, 263, 617, 865, 575, 219, 390, 984, 592, 236, 105, 942, 941,
386, 462, 47, 418, 907, 344, 236, 375, 823, 566, 597, 978, 328, 615, 953, 345,
399, 162, 758, 219, 918, 237, 412, 566, 826, 248, 866, 950, 626, 949, 687, 217,
815, 67, 104, 58, 512, 24, 892, 894, 767, 553, 81, 379, 843, 831, 445, 742, 717,
958, 609, 842, 451, 688, 753, 854, 685, 93, 857, 440, 380, 126, 721, 328, 753, 470,
743, 527
]
# your code goes here
for number in numbers:
if number == 237:
break
if number % 2 == 1:
continue
print(number)
test_object("number", undefined_msg="Define a object `number` using the code from the tutorial to print just the desired numbers from the exercise description.",incorrect_msg="Your `number` object is not correct, You should use an `if` statement and a `break` statement to accomplish your goal.")
success_msg("Great work!")
This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join over a million other learners and get started learning Python for data science today!