พื้นฐานเกี่ยวกับภาษา Python 2.7 | PART 2
Posted: 30/06/2016 2:59 pm
หลังจากที่เราได้รู้เกี่ยวกับหลักของ Syntax (ซินเท็ก) หรือ โครงสร้างภาษาไพทอนเบื้องต้นไปแล้ว พาร์ทนี้จะพูดถึงเรื่องของ if else (เงื่อนไข), loop (การวนซํ้า), การรับค่าจากคีย์บอร์ดก่อนจะเข้าบทนี้ถ้ายังไม่ได้อ่านพาร์ทที่ 1 สามารถอ่านได้ >>ที่นี่<< และสามารถศึกษาแบบเป็นบทเรียนได้>>ที่นี่<<
สำคัญ: ในภาษาไพทอนจะไม่มีเครื่องหมาย { } เพื่อใช้ครอบ คำสั่งเช่นคำสั่งของ if else, loop จะใช้การ Tab (เเท๊บ) 1 ครั้ง ภายใต้คำสั่งนั้นๆ
If else (อีฟ เอล)
If else (อีฟ เอล) คือการเลือกทำแบบมีเงื่อนไขตามหลักของ ตรรกะ, ค่าการเปรียบเทียบ, จริงเท็จ
สามารถดูเพิ่มเติมได้ >>ที่นี่<< ในหัวข้อ "ตัวดำเนินการเปรียบเทียบ" และ "ตัวดำเนินการทางตรรกะ"
ตัวอย่างการ if โดยมีโครงสร้างภาษาดังนี้
ตัวอย่างที่ 1
ผลลัพธ์
ถ้าหากมีเงื่อนไขมากกว่าหนึ่งเงื่อนไข จะต้องมีการใช้ else if โดยมีโครงสร้างภาษาดังนี้
เทคนิค: ควรใช้ elif ในกรณีที่ต้องการเปรียบเทียบชุดเดียวกัน ไม่สมควรขึ้น if ใหม่จะทำให้ตอนมาแก้ไขโค้ดในภายหลังเกิดความสับสนได้
ตัวอย่างที่ 1
ผลลัพธ์
ตัวอย่างที่ 2 การทำ if else อย่างถูกต้อง
ผลลัพธ์
การ loop (ลูป) เป็นการวนซํ้าจนกว่าจะเป็นการสิ้นสุดเงื่อนไขการวนซํ้า
while เป็นหนึ่งในคำสั่งการวนซํ้าประเภทนึงในภาษาไพทอน โดยจะทำการคิดเงื่อนไขก่อนวนซํ้า หากเงื่อนไขเป็น เท็จ จะเป็นการสิ้นสุดคำสั่ง การกำหนดเงื่อนไขใน while สามารถใช้หลักการของ if else มากำหนดเงื่อนไขได้
ตัวอย่าง
ผลลัพธ์
หรือ
ตัวอย่างการใช้ if else รวมกัน while
ผลลัพธ์
ตัวอย่าง
ผลลัพธ์
ผลลัพธ์
Exceptions Handling (แอ็กเซ็ปชั่น แฮลเดลลิ่ง) เป็นการดักเออเร่อของไพทอน โดยปรกติการเออเร่อจะมีข้อความแจ้งขึ้นมาและทำให้โปรแกรมหยุดทำงาน
ซึ่งถ้าได้ทำการดักเออเร่อไว้ โปรแกรมจะไม่เกิดเออเร่อขึ้นและสามารถทำงานต่อไปได้
ตัวอย่าง โครงสร้าง
ตัวอย่างข้อความเออเร่อ
ข้อความแจ้งข้อผิดพลาดสามารถอ่านได้ >>ที่นี่<<
หมายเหตุ: ไม่จำเป็นต้องใส่ else ก็ได้ แต่อย่างน้อยต้องมีหนึ่ง except: เพื่อรองรับข้อความเออเร่อ ไม่เช่นนั้นจะเกิดการเออเร่อ
ใน Exceptions Handling (แอ็กเซ็ปชั่น แฮลเดลลิ่ง) จะใช้อธิบายร่วมกับการรับค่าจากคีย์บอร์ด
โดยใช้คำสั่ง raw_input() โดยจะเก็บข้อมูลการกดคีย์บอร์ดไว้ที่ตัวแปร
ตัวอย่างโครงสร้าง
ผลลัพธ์
ตัวอย่าง
ตัวอย่าง การรับค่าคะแนนเพื่อคำนวนเกรดร่วมกับ Exception Handling โดยต้องนำค่าเฉพาะตัวเลขมาคำนวนเท่านั้น
โดยทั้งหมดนี้เป็นเพียงแค่พื้นฐานของภาษาไพทอน โดยสามารถไปศึกษาต่อแบบเป็นบทเรียนได้ >>ที่นี่<<
สำหรับ ท่านใดได้อ่านจนจบทั้งสองพาร์ทแล้วสามารถทดลองทำแบบฝึกหัดเพื่อทบทวนความรู้ได้ >>ที่นี่<<
สำคัญ: ในภาษาไพทอนจะไม่มีเครื่องหมาย { } เพื่อใช้ครอบ คำสั่งเช่นคำสั่งของ if else, loop จะใช้การ Tab (เเท๊บ) 1 ครั้ง ภายใต้คำสั่งนั้นๆ
If else (อีฟ เอล)
If else (อีฟ เอล) คือการเลือกทำแบบมีเงื่อนไขตามหลักของ ตรรกะ, ค่าการเปรียบเทียบ, จริงเท็จ
สามารถดูเพิ่มเติมได้ >>ที่นี่<< ในหัวข้อ "ตัวดำเนินการเปรียบเทียบ" และ "ตัวดำเนินการทางตรรกะ"
ตัวอย่างการ if โดยมีโครงสร้างภาษาดังนี้
Code: Select all
if เงื่อนไข: #เงื่อนไขที่หนึ่ง
คำสั่งภายใต้เงื่อนไขที่หนึ่ง
if เงื่อนไข: #เงื่อนไขภายใต้เงื่อนไขที่หนึ่ง
คำสั่งภายใต้เงื่อนไขที่สอง #จะต้องทำการแท๊บจากเงื่อนไขที่สอง 1 ครั้ง
else:
คำสั่งภายใต้เงื่อนไข else #เมื่อไม่เข้าเงื่อนไขที่หนึ่งจะมาทำเงื่อนไข else
Code: Select all
budget = 100
price = 200
if budget >= price: #ใช้การเปรียบเทียบมากกว่า
print "คุณสามารถซื้อสินค้าได้" #คำสั่งภายใต้เงื่อนไข if
else: #เมื่อไม่เข้าเงื่อนไข if
print "เงินคุณไม่พอซื้อสินค้า" #คำสั่งภายใต้เงื่อนไข else
หมายเหตุ: การ if ไม่จำเป็นต้องมี else ก็ได้เงินคุณไม่พอซื้อสินค้า
ถ้าหากมีเงื่อนไขมากกว่าหนึ่งเงื่อนไข จะต้องมีการใช้ else if โดยมีโครงสร้างภาษาดังนี้
Code: Select all
if เงื่อนไข:
คำสั่งภายใต้เงื่อนไข
elif เงื่อนไข:
คำสั่งภายใต้เงื่อนไข
else:
คำสั่งภายใต้เงื่อนไข
ตัวอย่างที่ 1
Code: Select all
score = 91
if score > 60:
print "คุณสอบผ่าน"
elif score > 60:
print "คุณเก่งมาก"
else:
print "คุณสอบตก"
อธิบาย: ในการตรวจสอบเงื่อนไข เมื่อเข้าเงื่อนไขใดๆก่อนจะสิ้นสุดชุดเงื่อนไขนั้นๆคุณสอบผ่าน
ตัวอย่างที่ 2 การทำ if else อย่างถูกต้อง
Code: Select all
score = 91
if score > 90:
print "คุณเก่งมาก"
elif score > 60:
print "คุณสอบผ่าน"
else:
print "คุณสอบตก"
Loop (ลูป)คุณเก่งมาก
การ loop (ลูป) เป็นการวนซํ้าจนกว่าจะเป็นการสิ้นสุดเงื่อนไขการวนซํ้า
while เป็นหนึ่งในคำสั่งการวนซํ้าประเภทนึงในภาษาไพทอน โดยจะทำการคิดเงื่อนไขก่อนวนซํ้า หากเงื่อนไขเป็น เท็จ จะเป็นการสิ้นสุดคำสั่ง การกำหนดเงื่อนไขใน while สามารถใช้หลักการของ if else มากำหนดเงื่อนไขได้
ตัวอย่าง
Code: Select all
count = 1
while count <= 5:
print "จำนวนที่ ", count
count = count + 1 #เพิ่มค่าตัวแปร +1 ในกับตัวแปร count ทุกๆ การวนซํา
print "สิ้นสุด while" #เมื่อสิ้นสุดการวนรอบของ while จำทำการแสดงข้อความ
หมายเหตุ: เมื่อเงื่อนไขมีค่าเป็นจริงอยู่ตลอดจะเป็นการ infinity loop (การวนซํ้าแบบไม่สิ้นสุด) เช่นจำนวนที่ 1
จำนวนที่ 2
จำนวนที่ 3
จำนวนที่ 4
จำนวนที่ 5
สิ้นสุด while
Code: Select all
num = 1
while num == 1:
print "infinity loop"
Code: Select all
while True:
print "infinity loop"
Code: Select all
n1 = 1
while n1 <= 20:
if(n1%2) == 0: #ใช้การ mod เพื่อหาเลขคู่
print n1,"เป็นเลขคู่"
else:
print n1,"เป็นเลขคี่"
n1 = n1+1
for loop เป็นการวนซํ้าโดยใช้ค่าอื่น หากวนจนครบค่าที่กำหนดไว้แล้วจะสิ้นสุดการวนซํ้า เช่น ตัวแปรประเภทลิส หาก หากวนซํ้าจนครบแล้วจะสิ้นสุดการวนซํ้า1 เป็นเลขคี่
2 เป็นเลขคู่
3 เป็นเลขคี่
4 เป็นเลขคู่
5 เป็นเลขคี่
6 เป็นเลขคู่
7 เป็นเลขคี่
8 เป็นเลขคู่
9 เป็นเลขคี่
10 เป็นเลขคู่
ตัวอย่าง
Code: Select all
band = ['apple','samsung','asus','google']
for index in range(len(band)): #ใช้คำสั่ง len() เพื่อนหาจำนวนของ band ใช้ range เพื่อใช้ค่าจาก len ทำตำแน่งของ index
print "Band is: ",band[index]
ตัวอย่างการใช้ for เพื่อทำสูตรคูณBand is: apple
Band is: samsung
Band is: asus
Band is: google
Code: Select all
n1 = 3
for n2 in range(1,12):
result = n*i
print str(n1),"x",str(n2),"=",res
Exceptions Handling (แอ็กเซ็ปชั่น แฮลเดลลิ่ง)3 x 1 = 3
3 x 2 = 6
3 x 3 = 9
3 x 4 = 12
3 x 5 = 15
3 x 6 = 18
3 x 7 = 21
3 x 8 = 24
3 x 9 = 27
3 x 10 = 30
3 x 11 = 33
Exceptions Handling (แอ็กเซ็ปชั่น แฮลเดลลิ่ง) เป็นการดักเออเร่อของไพทอน โดยปรกติการเออเร่อจะมีข้อความแจ้งขึ้นมาและทำให้โปรแกรมหยุดทำงาน
ซึ่งถ้าได้ทำการดักเออเร่อไว้ โปรแกรมจะไม่เกิดเออเร่อขึ้นและสามารถทำงานต่อไปได้
ตัวอย่าง โครงสร้าง
Code: Select all
try:
#โค้ดคำสั่ง
except ข้อความผิดพลาด1:
#โค้ดคำสั่ง
except ข้อความผิดพลาด2:
#โค้ดคำสั่ง
else: #เมื่อไม่มีข้อผิดพลาด
#โค้ดคำสั่ง
หมายเหตุ: ไม่จำเป็นต้องใส่ else ก็ได้ แต่อย่างน้อยต้องมีหนึ่ง except: เพื่อรองรับข้อความเออเร่อ ไม่เช่นนั้นจะเกิดการเออเร่อ
ใน Exceptions Handling (แอ็กเซ็ปชั่น แฮลเดลลิ่ง) จะใช้อธิบายร่วมกับการรับค่าจากคีย์บอร์ด
โดยใช้คำสั่ง raw_input() โดยจะเก็บข้อมูลการกดคีย์บอร์ดไว้ที่ตัวแปร
ตัวอย่างโครงสร้าง
Code: Select all
input = raw_input("ข้อความขณะรอการกดคีย์บอร์ด :")
เมื่อพิมพ์ข้อความเสร็จแล้วกด enter เพื่อสิ้นสุดการรอรับค่าข้อความขณะรอการกดคีย์บอร์ด :
ตัวอย่าง
Code: Select all
name = raw_input("คุณชื่ออะไร: ")
print "สวัสดีคุณ ",name
Code: Select all
score = raw_input("คะแนนสอบคือ: ")
grade = ""
try:
score = int(score) #แปลงค่าจากที่รับจากคีย์บอร์ดมาเป็นค่า int
if type(score) == int: #ตรวจสอบประเภทของตัวแปรว่าเป็น int หรือไม่
if score >= 90:
grade = "A"
elif score >= 80:
grade = "B"
elif score >= 70:
grade = "C"
elif score >= 60:
grade = "D"
else :
grade = "F"
except ValueError: #เมื่อไม่สามารถแปลงค่าเป็น int ได้จะเออเร่อ และมาตกที่ except ValueError
print "ข้อมูลไม่ถูกต้อง"
if(grade != ""):
print "เกรดที่ได้: ",grade
สำหรับ ท่านใดได้อ่านจนจบทั้งสองพาร์ทแล้วสามารถทดลองทำแบบฝึกหัดเพื่อทบทวนความรู้ได้ >>ที่นี่<<