Tutorial Python untuk bukan pengatur cara/Mengira sehingga 10
Daripada Wikibooks.
Seterusnya, mengira sehingga 10.
Isi kandungan |
[sunting] Gelung while
Mempersembahkan struktur kawalan pertama kita. Biasanya, komputer akan bermula dengan baris pertama dan kemudian seterusnya mengikut urutan. Struktur kawalan mengubah urutan kenyataan dijalankan atau menentukan hanya kenyataan tertentu yang dijalankan. Di sini terdapat satu kod sumber yang menunjukan struktur kawalan while (sementara):
a = 0 while a < 10: a = a + 1 print a
dan ini outputnya
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 RM5?) Jadi apa yang atur cara ini lakukan? Mula-mula, komputer melihat baris a = 0 dan jadikan 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 dari 10. Dengan kata lain sementara 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.
Ini adalah contoh lain yang menggunakan while
a = 1 s = 0 print 'Enter Numbers to add to the sum.' print 'Enter 0 to quit.' while a != 0 : print 'Current Sum:', s a = input('Number? ') s = s + a print 'Total Sum =', s
Kali pertama program ini dijalankan oleh saya, Python memaparkan:
File "sum.py", line 3
while a != 0
^
SyntaxError: invalid syntax
Ini kerana saya terlupa untuk menulis ":" selepas "while". Mesej kesilapan itu memberitahu tentang masalah ini dan menunjukkan di mana kesilapan berlaku dengan tanda SPMquot^. Selepas kesilapan ini diperbaiki saya dapat melakukan
Enter Numbers to add to the sum. Enter 0 to quit. Current Sum: 0 Number? 200 Current Sum: 200 Number? -15.25 Current Sum: 184.75 Number? -151.85 Current Sum: 32.9 Number? 10.00 Current Sum: 42.9 Number? 0 Total Sum = 42.9
Perhatikan bagaimana print 'Total Sum =', s hanya dijalankan akhir sekali. Kenyataan while hanya mempengaruhi baris yang ditab. != bermaksud tidak sama jadi while a != 0 : bermaksud sehingga nilai a menjadi 0 maka jalankan kenyataan bertab yang mendatang.
[sunting] Gelung tak terhingga
Sekarang kita telah 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 atur cara seperti ini:
while 1 == 1: print "Help, I'm stuck in a loop."
Program ini akan memaparkan Help, I'm stuck in a loop. sehingga selama-lamanya ataupun anda sendiri yang memberhentikannya. Ini kerana 1 sentiasa sama dengan 1. Cara untuk memberhentikannya ialah dengan menekan kekunci Ctrl dan C di papan kekunci secara serentak. Ini akan mematikan atur cara itu. (Nota: kadan kala anta perlu menekan Enter selepas Control-C.)
[sunting] Contoh
Fibonacci.py
# This program calculates the Fibonacci sequence a = 0 b = 1 count = 0 max_count = 20 while count < max_count: count = count + 1 # we need to keep track of a since we change it old_a = a old_b = b a = old_b b = old_a + old_b # Notice that the , at the end of a print statement keeps it # from switching to a new line print old_a,
Output:
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181
Password.py
# Waits until a password has been entered. Use Control-C to break out without # the password #Note that this must not be the password so that the # while loop runs at least once. password = "foobar" # note that != means not equal while password != "unicorn": password = raw_input("Password: ") print "Welcome in"
Cubaan menjalankan:
Password: auo Password: y22 Password: password Password: open sesame Password: unicorn Welcome in
[sunting] Latihan
Tulis satu atur cara yang meminta nama log masuk dan kata laluan dari pengguna. Kemudian apabila mereka menaip "kunci", mereka perlu menaip nama dan kata laluan untuk membuka kunci atur cara itu.