Tutorial Python untuk bukan pengatur cara/Mengira sehingga 10

Daripada Wikibooks.

Lompat ke: pandu arah, gelintar

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.