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


 
TODO

Nota penterjemah:
Python hanya pandai berbahasa Inggeris. Jadi dalam bab-bab berikut akan terdapat contoh kod yang bahasanya bercampur aduk. Perkataan bahasa Inggeris merupakan perkataan yang ditujukan kepada Python dan perlu digunakan. Juga, Python akan memulangkan nilai atau pesanannya dalam bahasa Inggeris

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.