Tutorial Python untuk bukan pengatur cara/Mengguna Modul

Daripada Wikibooks

Ini latihan menaip bab ini (namakannya cal.py). import sebenarnya mencari fail bernama calender.py dan membacanya ke dalam program. Jika fail ini dinamakan calender.py dan ia melihat "import calendar" ia akan cuba membaca dirinya, yang tidak dapat dilakukannya dengan baik). :):

import calendar
tahun = input("Taipkan nombor tahun: ")
calendar.prcal(tahun)

Dan ini sebahagian output yang saya dapat:

Taipkan nombor tahun: 2001

                                 2001                                  

       January                  February                    March      

Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
1  2  3  4  5  6  7                1  2  3  4                1  2  3  4     
8  9 10 11 12 13 14       5  6  7  8  9 10 11       5  6  7  8  9 10 11
15 16 17 18 19 20 21      12 13 14 15 16 17 18      12 13 14 15 16 17 18     
22 23 24 25 26 27 28      19 20 21 22 23 24 25      19 20 21 22 23 24 25     
29 30 31                  26 27 28                  26 27 28 29 30 31        
Note Ingat, Python hanya boleh berbahasa Inggeris. Itu sebab dalam outputnya, Python mengeja bulan dan hari dalam bahasa itu.

(Saya mengabaikan sebahagian daripada output tapi saya fikir anda dapat bayangannya.) Jadi, apa yang dilakukan oleh program ini? Baris pertama import calendar mengguna perintah baharu, import. Perintah import memuatkan modul (dalam kes ini modul calendar). Untuk melihat perintah-perintah yang terdapat dalam modul-modul standard, lihat dalam rjukan perpustakaan python (sekiranya anda memuat turunnya) atauapun pergi ke to http://docs.python.org/library/. Jika anda melihat dokumentasi bagi modul calendar, ia menyenaraikan sebuah fungsi bergelar prcal yang mencetak kalendar bagi setahun. Baris calendar.prcal(year) mengguna fungsi ini. Secara ringkas, untuk mengguna modul, guna import untuk mengimportnya dan kemudian guna module_name.function bagi fungsi-fungsi dalam modul itu. Cara lain untuk menulis program ini adalah:

from calendar import prcal

tahun = input("Taipkan nombor tahun: ")
prcal(tahun)

Versi ini mengimport fungsi khusus daripada sesuatu modul. Ini satu lagi program yang mengguna Python Library (Perpustakaan Python). Berikan ia nama clock.py (tekan kekunci Ctrl dan 'c' serentak untuk mematikan program):

from time import time, ctime

masa_lampau = ""
while True:
    waktu = ctime(time())
    if masa_lampau != waktu:
        print "Waktu ialah:", ctime(time())
        masa_lampau = waktu

Dengan output seperti:

Waktu ialah: Sun Aug 20 13:40:04 2000
Waktu ialah: Sun Aug 20 13:40:05 2000
Waktu ialah: Sun Aug 20 13:40:06 2000
Waktu ialah: Sun Aug 20 13:40:07 2000

Traceback (innermost last):
 File "clock.py", line 5, in ?
    waktu = ctime(time())

KeyboardInterrupt

Output sydah tentunya tidak terbatas, jadi saya batalkan (ataupun outputnya berjalan sekurang-kurangnya sehingga saya menekan 'Ctrl+C'). Program ini melaksanakan gelung tak terbatas. (True sentiasa benar, jadi while True: berjalan tanpa henti) dan setiap kali ia memeriksa sama ada masa sudah berubah dan mencetaknya sekira ya. Perhatikan bagaimana nama berganda selepas kenyataan import digunakan pada baris from time import time, ctime.

Python Library mengandungi banyak fungsi berguna. Fungsi-fungsi ini memberi program-program anda kebolehan lebih dan kebanyakannya dapat memudahkan pengaturcaraan Python.

Latihan[sunting]

Tulis semula program Tinggi_rendah.py daripada bahagian Membuat keputusan agar mengguna integer rawak di antara 0 dan 99 dan tidak 78 yang berkod keras. Guna dokumentasi Python untuk mencari modul dan fungsi yang bersesuaian untuk melakukan ini.


Penyelesaian

Tulis semula program Tinggi_rendah.py daripada bahagian Membuat keputusan agar mengguna integer rawak di antara 0 dan 99 dan tidak 78 yang berkod keras. Guna dokumentasi Python untuk mencari modul dan fungsi yang bersesuaian untuk melakukan ini.

from random import randint
nombor = randint(0, 99)
teka = -1
while teka != nombor: 
    teka = input ("Teka nombor: ")
    if teka > nombor:
        print "Terlalu tinggi"
    elif guess < nombor:
            print "Terlalu rendah"
print "Ngam-ngam"