Tutorial Python untuk bukan pengatur cara/Siapa di sana?
Masukan dan pemboleh ubah
[sunting]Sekarang, saya rasa inilah masa yang sesuai untuk atur cara yang lebih sukar. Ini dia:
print "Berhenti!"
s = raw_input("Siapa di sana? ")
print "Anda boleh lalu,", s
Bila saya jalankan program ini, inilah apa yang komputer saya paparkan.
Berhenti! Siapa di sana? Josh Anda boleh lalu, Josh
Nota: Selepas menjalankan kod ini dengan menekan F5, kekerang Python akan hanya memberi output:
Berhenti! Siapa di sana?
Anda perlu memasukkan nama anda dalam kekerang Python, dan kemudian menekan Enter untuk mendapatkan out selanjutnya.
Sudah tentu apabila anda jalankan program ini anda akan melihat perbezaan daripada atur cara saya kerana penyataan raw_input()
. Apabila anda jalankan program ini sepatutnya anda diberitahu (anda menjalankan program ini, betul?) untuk menaip nama anda dan tekan Enter. Kemudian, program ini akan mengeluarkan sedikit lagi teks dan juga nama anda. Ini adalah contoh bagi input (masukan). Program ini akan sampai ke satu tempat atau kod tertentu dan selepas itu akan menunggu sehingga kita memasukkan sedikit data yang program ini akan gunakan kemudian dan jalan kembali.
Tentunya, maklumat yang didapati dari pengguna tidak akan berguna jika kita tidak letak maklumat tentang pemboleh ubah untuk dimasukkan. Dalam program tadi, s
dijadikan pemboleh ubah. Pemboleh ubah ini seperti satu kotak yang boleh menyimpan sedikit data. Ini lagi contoh program yang mempunyai pemboleh ubah:-
a = 123.4
b23 = 'Kacang'
nama_pertama = "Mat"
b = 432
c = a + b
print "a + b ialah",c
print "nama_pertama ialah", nama_pertama
print "Bahagian terisih, 'After Midnight' atau", b23
Dan ini apa yang Python keluarkan:-
a + b ialah 555.4 nama_pertama ialah Mat Bahagian terisih, After Midnight atau Kacang
Nota penterjemah: |
Pemboleh ubah (variable) menyimpan data. Pemboleh ubah bagi program di atas ialah a
, b23
, nama_pertama
, b
dan c
. Ada dua jenis pemboleh ubah asas, iaitu rentetan dan nombor. Rententan (string) ialah urutan huruf, nombor, dan aksara-aksara lain. Dalam contoh di atas, b23
dan nama_pertama
merupakan pemboleh ubah yang menyimpan rentetan. Kacang
, Mat
, a + b ialah
dan nama_pertama ialah
merupakan rentetan pada atur cara ini. Kesemua aksara ini mesti diapit oleh tanda "
atau '
, seperti "saya" atau 'saya'. Pemboleh ubah jenis lain ialah nombor.
Umpukan
[sunting]Baik, jadi sekarang kita mempunyai kotak-kotak yang dipanggil pemboleh ubah dan juga data yang boleh memasuki pemboleh ubah itu. Komputer akan melihat baris pertama seperti nama_pertama = "Mat"
dan ia membacanya sebagai "masukkan rentetan Mat
ke dalam kotak (atau pemboleh ubah) nama_pertama
. Kemudian ia akan melihat penyataan c = a + b
dan ia dibaca sebagai "masukkan jumlah a + b
atau 123.4 + 432
yang bersamaan dengan 555.4
ke dalam c
".
Ini ada beberapa lagi contoh penggunaan pemboleh ubah :-
a = 1
print a
a = a + 1
print a
a = a * 2
print a
Dan sudah tentulah ini yang akan dihasilkan Python:-
1 2 4
Walaupun jika ia mempunyai pemboleh ubah yang sama di kedua-dua belah, komputer masih boleh membacanya dengan cara: Mula-mula, kenal pasti data untuk disimpan dan kemudian kenal pasti ke mana data akan disimpan.
Satu lagi atur cara sebelum saya tamatkan bab ini:
num = input("Taip sebuah nombor: ")
str = raw_input("Taip String: ")
print "num =", num
print "num ialah ",type(num)
print "num * 2 =",num*2
print "str =", str
print "str ialah ",type(str)
print "str * 2 =",str*2
Hasil yang saya dapat ialah:
Taip sebuah Nombor: 12.34 Taip String: Hello num = 12.34 num ialah <type 'float'> num * 2 = 24.68 str = Hello str ialah <type 'str'> str * 2 = HelloHello
Ingat: num
didapati dengan input()
manakala str
didapati dengan raw_input()
. raw_input()
mengembalikan rentetan manakala input()
mengembalikan nombor. Apabila anda mahu pengguna menaip nombor gunakan input()
, tetapi jika anda mahu pengguna menaip rentetan gunakanlah raw_input()
.
Bahagian kedua atur cara di atas menggunakan type()
yang memberitahu kita apa jenis pemboleh ubah itu. Nombor ialah daripada jenis int
atau float
(yang merupakan kependekan untuk integer dan floating point, titik terapung). Rentetan teks ialah daripada jenis str
(kependekan string, rentetan). Integer dan float boleh digunakan oleh fungsi matematik, tetapi rentetan tidak boleh. Ingat: Apabila Python mendarabkan sesuatu nombor dengan integer perkara yang dijangkakan akan terjadi. Akan tetapi apabila suatu rentetan didarab dengan integer, rentetan itu akan disalin beberapi kali (yakni, str * 2 = HelloHello
).
Operasi dengan rentetan boleh berbeza sedikit daripada operasi dengan nombor. Di sini ditunjukkan sedikit contoh mod interaktif:-
>>> "Ini"+" disambung." 'Ini disambung.' >>> "Ha, "*5 'Ha, Ha, Ha, Ha, Ha, ' >>> "Ha, "*5+"ha!" 'Ha, Ha, Ha, Ha, Ha, ha!' >>>
Ini ialah senarai beberapa operasi rentetan:-
Operasi | Simbol | Contoh |
---|---|---|
Pengulangan | * | "i"*5 == "iiiii" |
Perangkaian | + | "Hello, "+"World!" == "Hello, World!" |
Contoh
[sunting]kadar_masa.py
#Program ini mengira masalah kadar dan jarak
print "Input kadar dan jarak"
kadar = input("Kadar:")
jarak = input("Jarak:")
print "Masa:", jarak/kadar
Menghasilkan:
> python kadar_masa.py Input kadar dan jarak Kadar: 5 Jarak: 10 Masa: 2 > python kadar_masa.py Input kadar dan jarak Kadar: 3.52 Jarak: 45.6 Masa: 12.9545454545
luas.py
#Program ini mengira perimeter dan luas segi empat tepat
print "Kira maklumat tentang segi empat tepat"
panjang = input("Panjang:")
lebar = input("Lebar:")
print "Luas", panjang*lebar
print "Perimeter", 2*panjang+2*lebar
Menghasilkan:
> python luas.py Kira maklumat tentang segi empat tepat Panjang: 4 Lebar: 3 Luas 12 Perimeter 14 > python luas.py Kira maklumat tentang segi empat tepat Panjang: 2.53 Lebar: 5.2 Luas 13.156 Perimeter 15.46
suhu.py
#Menukar Fahrenheit ke Celsius
suhu = input("Suhu Farenheit:")
print (suhu-32.0)*5.0/9.0
Menghasilkan:
> python suhu.py Suhu Fahrenheit: 32 0.0 > python suhu.py Suhu Farenheit temperature: -40 -40.0 > python temperature.py Suhu Fahrenheit: 212 100.0 > python suhu.py Suhu Fahrenheit: 98.6 37.0
Latihan
[sunting]Tulis sebuah program yang mendapatkan 2 pemboleh ubah rentetan dan 2 pemboleh ubah integer daripada pengguna. Rangkaikan (gabungkan kesemuanya bersama tanpa ruang atau jarak) dan paparkan rentetan-rentetan itu, kemudian darabkan] dua nombor tersebut pada baris baru.