Tuesday, December 1, 2009

Python Programming


Variable and the First Python Program!!

ประพัฒน์ สุริยผล

ตัวแปร (variable) เป็นองค์ประกอบที่สำคัญของการเขียนโปรแกรม ตัวแปรเป็นสิ่งที่ใช้เก็บค่าต่างๆ ที่จะนำไปใช้ต่อไปในอนาคต ตัวแปรสามารถเก็บได้หลายอย่าง ไม่ว่าจะเป็นตัวเลข ตัวอักษร หรือสิ่งอื่นๆ

เราสามารถกำหนดค่าตัวแปรได้ง่ายๆ โดยการตั้งชื่อค่าตัวแปรทางซ้าย แล้วใช้เครื่องหมายเท่ากับ (
=) พร้อมกับใส่ค่าที่ต้่องการทางด้านขวาดังตัวอย่าง

a = 1
b = 'letter'
c = 1+2

เราสามารถดูค่าที่อยู่ในตัวแปรได้ ด้วยการใช้คำสั่ง print

>>> print a
1

เมื่อเราใช้คำสั่ง print a เราจะได้ 1 ออกมา คำสั่ง print จึงเป็นเครื่องมือที่ดี ที่เราสามารถใช้ในการตรวจสอบดูว่า ณ ขณะนั้น ตัวแปรเก็บค่าอะไรอยู่บ้าง ค่าในตัวแปร ไม่คงที่ เราสามารถกำหนดค่าให้ให้ตัวแปรได้เสมอ อย่างเช่น ตอนนี้ ตัวแปร a เก็บค่าเลข 1 อยู่ เราสามารถเปลี่ยนให้ตัวแปรเก็บเลข 2 ได้ ด้วยการใช้คำสั่ง

>>> a = 2

ลองใช้คำสั่ง
print ดูก็จะเห็นว่า ตัวแปร a เก็บค่าเลข 2 ไว้ แทนที่จะเป็นเลข 1 เช่นเดิม เราสามารถใช้ตัวแปรตัวเดียวกันไว้ทางด้านขวาของเครื่องหมายเท่ากับได้ เช่น

>>> a = a + 1

สิ่งที่เกิดขึ้นก็คือ python จะทำงานหาค่าที่อยู่ทางด้านขวามือของเครื่องหมายเท่ากับก่อน คือเอาค่าของ a มาบวกกับเลข 1 แล้วนำผลลัพธ์ที่ได้ ไปใส่ไว้ในตัวแปรเดิมอีกที สิ่งที่เกิดขึ้นก็คือ ไม่ว่าตัวแปร a เก็บค่าตัวเลขอะไรไว้ก็ตาม เมื่อ python พบกับคำสั่งนี้ ก็จะเป็นการเพิ่มค่าตัวแปร a ขึ้นไปหนึ่งโดยอัตโนมัติ การใช้ตัวแปรในลักษณะนี้มีให้เห็นบ่อยๆ ใน python และเป็นประโยชน์มาก

แบบฝึกหัด

1. ใช้คำสั่ง print เพื่อดูค่าตัวแปร b และ c

2. ลองนำตัวแปรมาใช้ในการคำนวณทางคณิตศาสตร์ดู แล้วใช้
print พิมพ์สิ่งที่อยู่ในตัวแปรออกมาดู

3. ลองนำตัวแปรที่เป็นตัวเลข แล้วนำตัวอักษรไปบวก เกิดอะไรขึ้น

4. ลองนำตัวแปรที่เป็นตัวอักษร แล้วนำตัวเลขไปบวก เกิดอะไรขึ้น

5. ลองนำตัวแปรที่เป็นตัวอักษร แล้วบวกกับตัวอักษร เกิดอะไรขึ้น

6. ลองตั้งตัวแปร ดังนี้

d = 'hello'
e = ' my friend'
f = d + e

ลอง print ค่าตัวแปร d, e และ f ดู จากนั้น เปลี่ยนค่า e ด้วยคำสั่ง

e = ' your friend'

ลอง print ดูอีกครั้งว่า ตัวแปร f เปลี่ยนแปลงตาม e หรือไม่

Raw_input function And My first program

ครั้งนี้เราจะเขียนโปรแกรมที่ทำงานได้จริงๆ โดยใช้ความรู้ที่เราได้เรียนมาจากครั้งก่อน ร่วมกับฟังก์ชันใหม่หนึ่งฟังก์ชันที่ชื่อว่า
raw_input

ฟังก์ชัน
raw_input ใช้สำหรับรับค่าจากผู้ใช้

จากตัวอย่างเดิม เราเคยกำหนดค่าตัวแปรโดยใช้คำสั่ง

a=1

เราสามารถเปลี่ยนคำสั่งนี้ให้เป็น

a=raw_input()

ซึ่งเมื่อเราใช้คำสั่งนี้ python จะรอให้ผู้ใช้พิมพ์ค่าที่ต้องการ เมื่อผู้ใช้กดปุ่ม enter โปรแกรม python ก็จะนำค่านั้นไปใส่ไว้ในตัวแปร a เพื่อให้ผู้ใช้เข้าใจว่า python กำลังรอรับค่าอยู่ เราควรจะบอกผู้ใช้สักหน่อย แทนที่จะปล่อยให้หน้าจอว่าง แล้วให้ผู้ใช้เดาเอาเองว่า python กำลังรอข้อมูล

print "Please give value for variable a"
a=raw_input()
print "variable a now contains", a

ลองพิมพ์โปรแกรมข้างบนลงใน text editor แล้ว save ในชื่อ program1.py จากนั้น ลองรันโปรแกรมนี้ดู ใน dos box (หากจำไม่ได้ว่า dos box คืออะไร ให้กลับไปดูที่ Python Tutorial ครั้งแรก)

อันที่จริง คำสั่ง
raw_input อนุญาตให้เราใส่คำบอกผู้ใช้ไว้อยู่แล้ว โปรแกรมข้างบน เราอาจจะเขียนได้เป็น

a=raw_input("Please give value for variable a")
print "variable a now contains", a

ลอง save ชื่อ program2.py แล้วลองรันดู ดูสิว่า จะได้ผลเหมือน program1.py หรือไม่

คราวนี้ เราจะมาลองเขียนโปรแกรมคำนวณพื้นที่สี่เหลี่ยมดู

พื้นที่สี่เหลี่ยม = ความยาวฐาน x สูง
โปรแกรมของเราหน้าตาจะเป็นประมาณนี้

print "Program to calculate Area of Rectangle"
base = raw_input("Please enter base -> ")
height = raw_input("Please enter height -> ")
base_int = int(base)
height_int = int(height)
print "Rectangle area of base", base, "and height", height, "is", base_int*height_int

โปรแกรมข้างต้นน่าจะอ่านเข้าใจได้ไม่ยาก ยกเว้นสิ่งหนึ่งที่เพิ่มขึ้นมาคือการแปลงค่าจากตัวอักษรให้เป็นเลขจำนวนเต็ม เนื่องจากค่าที่เราได้จากคำสั่ง raw_input จะเป็นตัวอักษรเสมอ ไม่ว่าเราจะพิมพ์ตัวเลขลงมาก็ตาม ซึ่งเราทราบจากครั้งก่อนแล้วค่าตัวอักษรไม่สามารถเอามาคูณกันได้ เราจึงต้องแปลงตัวอักษรที่จริงๆ แล้วคือตัวเลขให้กลายเป็นตัวเลขก่อน ด้วยการใช้คำสั่ง

int(
ตัวแปร)

คำสั่งนี่้จะคืนค่าตัวเลขออกมา

แบบฝึกหัด

ลองเขียนโปรแกรมเพื่อคำนวณค่าพื้นที่ของสามเหลี่ยม สูตรคำนวณคือ

พื้นที่สามเหลี่ยม = 0.5 x ฐาน x สูง

No comments:

Post a Comment