Tutorial Python untuk bukan pengatur cara/Mengira sehingga 10
Seterusnya, mengira sehingga 10.
Gelung while
[sunting]Mempersembahkan struktur kawalan pertama kita. Biasanya, komputer akan bermula dengan baris pertama dan kemudian melihat baris seterusnya mengikut urutan. Struktur kawalan mengubah urutan kenyataan dilaksanakan atau menentukan hanya kenyataan tertentu yang dijalankan. Di sini terdapat satu kod sumber yang menunjukkan struktur kawalan while
(harfiah, sementara atau selagi):
a = 0
while a < 10:
a = a + 1
print a
dan ini outputnya yang amat menguja:
1 2 3 4 5 6 7 8 9 10
(Dan anda sangka ia tidak akan jadi lebih teruk selepas menukarkan komputer anda menjadi kalkulator yang bernilai RM15?)
Jadi apa yang program ini lakukan? Mula-mula, komputer melihat baris a = 0
dan menjadikan a
sebagai 0. Seterusnya, komputer melihat while a < 10:
, jadi komputer akan memeriksa jika a < 10
. Kali pertama komputer melihat kenyataan ini, a
adalah sifar, iaitu kurang daripada 10. Dengan kata lain sementara/selagi nilai a
kurang dari 10, komputer akan menjalankan kenyataan yang ditabkan. Apabila nilai a
mencapai 10, barulah komputer akan pergi ke baris seterusnya dalam atur cara itu.
Jangan lupa meletakkan tanda titik bertindih " : " selepas kenyataan while
!
Ini adalah contoh lain yang menggunakan while
:
a = 1
s = 0
print 'Masukkan Nombor bagi mendapatkan jumlah.'
print 'Masukkan 0 untuk berhenti.'
while a != 0:
print 'Jumlah Semasa:', s
a = input('Nombor? ')
s = s + a
print 'Jumlah Tuntas =', s
Masukkan Nombor bagi mendapatkan jumlah. Masukkan 0 untuk berhenti. Jumlah Semasa: 0 Nombor? 200 Jumlah Semasa: 200 Nombor? -15.25 Jumlah Semasa: 184.75 Nombor? -151.85 Jumlah Semasa: 32.9 Nombor? 10.00 Jumlah Semasa: 42.9 Nombor? 0 Jumlah Tuntas = 42.9
Perhatikan bagaimana print 'Jumlah Tuntas =', s
hanya dijalankan akhir sekali. Kenyataan while
hanya mempengaruhi baris yang diinden dengan ruang putih. !=
bermaksud tidak sama jadi while a != 0 :
bermaksud sehingga nilai a
menjadi 0 maka jalankan kenyataan yang diinden dengan ruang putih yang menyusul.
Gelung tak terhingga
[sunting]Sekarang kita ada gelung while
, ia mungkin untuk membuat atur cara yang berjalan selama-lamanya atau tanpa henti. Cara mudah untuk melakukan ini ialah dengan menulis sebuah program seperti ini:
while 1 == 1:
print "Tolong, saya terperangkap dalam gelung!."
Program ini akan memaparkan Tolong, saya terperangkap dalam gelung!.
selama-lamanya ataupun sehingga anda sendiri yang memberhentikannya. Ini kerana 1 sentiasa sama dengan 1. Cara untuk memberhentikannya ialah dengan menekan kekunci Ctrl dan C papan kekunci secara serentak. Ini akan mematikan atur cara itu. (Nota: kadang kala anda perlu menekan Enter selepas Control-C.)
Contoh
[sunting]Fibonacci.py
# Program ini mengira rentetan Fibonacci
a = 0
b = 1
kiraan = 0
kiraan_maksimum = 20
while kiraan < kiraan_maksimum:
kiraan = kiraan + 1
# kita perlu menjejak "a" kerana kita mengubahnya
a_lama = a
b_lama = b
a = b_lama
b = a_lama + b_lama
# Lihat bahawa "," dipeghujung kenyataan print menghalangnya
# daripada bertukar ke baris baharu
print a_lama,
Output:
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181
Kata_laluan.py
# Tunggu sehingga kata laluan dimasukkan. Guna Control-C untuk keluar tanpa
# mengguna kata laluan
# Perhatikan bahawa ini seharusnya bukan kata laluan agar
# gelung while terlaksana sekurang-kurangnya sekali.
kata_laluan = "foobar"
# perhatikan bahawa != bermaksud tidak sama
while kata_laluan != "unicorn":
kata_laluan = raw_input("Kata laluan: ")
print "Selamat datang"
Cubaan menjalankan:
Kata laluan: auo Kata laluan: y22 Kata laluan: kata laluan Kata laluan: aci buka pintu Kata laluan: unicorn Welcome in
Latihan
[sunting]Tulis satu program yang meminta nama log masuk dan kata laluan daripada pengguna. Kemudian apabila mereka menaip "kunci", mereka perlu menaip nama dan kata laluan untuk membuka kunci atur cara itu.