Tutorial Python untuk bukan pengatur cara/Siapa di sana?

Daripada Wikibooks.

Lompat ke: pandu arah, gelintar

Isi kandungan

[sunting] Masukan dan pemboleh ubah

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

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 = 'Spam'
first_name = "Bill"
b = 432
c = a + b
print "a + b is",c
print "first_name is",first_name
print "Sorted Parts, After Midnight or",b23

Dan ini apa yang Python keluarkan:-

a + b is 555.4
first_name is Bill
Sorted Parts, After Midnight or Spam

Pemboleh ubah menyimpan data. Pemboleh ubah bagi program di atas ialah a, b23, first_name, b dan c. Ada dua jenis pemboleh ubah asas, iaitu rentetan dan nombor. Rententan (string) ialah urutan huruf, nombor, dan lain-lain aksara. Dalam contoh di atas, b23 dan first_name merupakan pemboleh ubah yang menyimpan rentetan. Spam, Bill, a + b is dan first_name is ialah rentetan kepada atur cara ini. Kesemua aksara ini mesti diapit oleh tanda " atau ', seperti "saya" atau 'saya'. Pemboleh ubah jenis lain ialah nombor.

[sunting] Umpukan

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 first_name = "Bill" dan ia membacanya sebagai "masukkan rentetan Bill ke dalam kotak (atau pemboleh ubah) first_name. 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("Type in a Number: ")
str = raw_input("Type in a String: ")
print "num =", num
print "num is a ",type(num)
print "num * 2 =",num*2
print "str =", str
print "str is a ",type(str)
print "str * 2 =",str*2

Hasil yang saya dapat ialah:-

Type in a Number: 12.34
Type in a String: Hello
num = 12.34
num is a <type 'float'>
num * 2 = 24.68
str = Hello
str is a <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 apa jenis pemboleh ubah itu. Nombor ialah dari jenis int atau float (yang merupakan kependekan untuk integer dan floating point, titik terapung). Rentetan teks ialah dari 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 (i.e., str * 2 = HelloHello).

Operasi dengan rentetan boleh berbeza sedikit daripada operasi dengan nombor. Di sini ditunjukkan sedikit contoh mod interaktif:-

>>> "This"+" "+"is"+" joined."
'This is joined.'
>>> "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!"

[sunting] Contoh

Rate_times.py

#This programs calculates rate and distance problems
print "Input a rate and a distance"
rate = input("Rate:")
distance = input("Distance:")
print "Time:",distance/rate

Menghasilkan:

> python rate_times.py
Input a rate and a distance
Rate: 5
Distance: 10
Time: 2
> python rate_times.py
Input a rate and a distance
Rate: 3.52
Distance: 45.6
Time: 12.9545454545

Area.py

#This program calculates the perimeter and area of a rectangle
print "Calculate information about a rectangle"
length = input("Length:")
width = input("Width:")
print "Area",length*width
print "Perimeter",2*length+2*width

Menghasilkan:

> python area.py
Calculate information about a rectangle
Length: 4
Width: 3
Area 12
Perimeter 14
> python area.py
Calculate information about a rectangle
Length: 2.53
Width: 5.2
Area 13.156
Perimeter 15.46

temperature.py

#Converts Fahrenheit to Celsius
temp = input("Farenheit temperature:")
print (temp-32.0)*5.0/9.0

Menghasilkan:

> python temperature.py
Fahrenheit temperature: 32
0.0
> python temperature.py
Fahrenheit temperature: -40
-40.0
> python temperature.py
Fahrenheit temperature: 212
100.0
> python temperature.py
Fahrenheit temperature: 98.6
37.0

[sunting] Latihan

Tulis sebuah atur cara yang mendapatkan 2 pemboleh ubah rentetan dan 2 pemboleh ubah integer dari pengguna. Rangkaikan (gabungkan kesemuanya bersama tanpa ruang atau jarak) dan paparkan rentetan-rentetan itu, kemudian darabkan dua nombor tersebut pada baris baru.