พื้นฐานเกี่ยวกับภาษา Python 2.7 | PART 2

แชร์ความรู้ภาษา Python ไพทอน การเขียนโปรแกรมภาษาไพทอน

Moderators: mindphp, ผู้ดูแลกระดาน

puopun.p
PHP Hero Member
PHP Hero Member
Posts: 120
Joined: 27/06/2016 10:03 am

พื้นฐานเกี่ยวกับภาษา Python 2.7 | PART 2

Post by puopun.p »

หลังจากที่เราได้รู้เกี่ยวกับหลักของ Syntax (ซินเท็ก) หรือ โครงสร้างภาษาไพทอนเบื้องต้นไปแล้ว พาร์ทนี้จะพูดถึงเรื่องของ if else (เงื่อนไข), loop (การวนซํ้า), การรับค่าจากคีย์บอร์ดก่อนจะเข้าบทนี้ถ้ายังไม่ได้อ่านพาร์ทที่ 1 สามารถอ่านได้ >>ที่นี่<< และสามารถศึกษาแบบเป็นบทเรียนได้>>ที่นี่<<

สำคัญ: ในภาษาไพทอนจะไม่มีเครื่องหมาย { } เพื่อใช้ครอบ คำสั่งเช่นคำสั่งของ if else, loop จะใช้การ Tab (เเท๊บ) 1 ครั้ง ภายใต้คำสั่งนั้นๆ

If else (อีฟ เอล)
If else (อีฟ เอล) คือการเลือกทำแบบมีเงื่อนไขตามหลักของ ตรรกะ, ค่าการเปรียบเทียบ, จริงเท็จ
สามารถดูเพิ่มเติมได้ >>ที่นี่<< ในหัวข้อ "ตัวดำเนินการเปรียบเทียบ" และ "ตัวดำเนินการทางตรรกะ"
ตัวอย่างการ if โดยมีโครงสร้างภาษาดังนี้

Code: Select all

if เงื่อนไข:						#เงื่อนไขที่หนึ่ง
	คำสั่งภายใต้เงื่อนไขที่หนึ่ง
	if เงื่อนไข:					#เงื่อนไขภายใต้เงื่อนไขที่หนึ่ง
		คำสั่งภายใต้เงื่อนไขที่สอง	#จะต้องทำการแท๊บจากเงื่อนไขที่สอง 1 ครั้ง
else:
	คำสั่งภายใต้เงื่อนไข else 		#เมื่อไม่เข้าเงื่อนไขที่หนึ่งจะมาทำเงื่อนไข else
ตัวอย่างที่ 1

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:
	คำสั่งภายใต้เงื่อนไข
เทคนิค: ควรใช้ elif ในกรณีที่ต้องการเปรียบเทียบชุดเดียวกัน ไม่สมควรขึ้น if ใหม่จะทำให้ตอนมาแก้ไขโค้ดในภายหลังเกิดความสับสนได้

ตัวอย่างที่ 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 จำทำการแสดงข้อความ
ผลลัพธ์
จำนวนที่ 1
จำนวนที่ 2
จำนวนที่ 3
จำนวนที่ 4
จำนวนที่ 5
สิ้นสุด while
หมายเหตุ: เมื่อเงื่อนไขมีค่าเป็นจริงอยู่ตลอดจะเป็นการ infinity loop (การวนซํ้าแบบไม่สิ้นสุด) เช่น

Code: Select all

num = 1
while num == 1:
	print "infinity loop"
หรือ

Code: Select all

while True:
	print "infinity loop"
ตัวอย่างการใช้ if else รวมกัน while

Code: Select all

n1 = 1
while n1 <= 20:
	if(n1%2) == 0:  #ใช้การ mod เพื่อหาเลขคู่
		print n1,"เป็นเลขคู่"
	else:
		print n1,"เป็นเลขคี่"
	n1 = n1+1
ผลลัพธ์
1 เป็นเลขคี่
2 เป็นเลขคู่
3 เป็นเลขคี่
4 เป็นเลขคู่
5 เป็นเลขคี่
6 เป็นเลขคู่
7 เป็นเลขคี่
8 เป็นเลขคู่
9 เป็นเลขคี่
10 เป็นเลขคู่
for loop เป็นการวนซํ้าโดยใช้ค่าอื่น หากวนจนครบค่าที่กำหนดไว้แล้วจะสิ้นสุดการวนซํ้า เช่น ตัวแปรประเภทลิส หาก หากวนซํ้าจนครบแล้วจะสิ้นสุดการวนซํ้า
ตัวอย่าง

Code: Select all

band = ['apple','samsung','asus','google']
for index in range(len(band)): #ใช้คำสั่ง len() เพื่อนหาจำนวนของ band ใช้ range เพื่อใช้ค่าจาก len ทำตำแน่งของ index
	print "Band is: ",band[index]
ผลลัพธ์
Band is: apple
Band is: samsung
Band is: asus
Band is: google
ตัวอย่างการใช้ for เพื่อทำสูตรคูณ

Code: Select all

n1 = 3
for n2 in range(1,12):
	result = n*i
	print str(n1),"x",str(n2),"=",res
ผลลัพธ์
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 (แอ็กเซ็ปชั่น แฮลเดลลิ่ง)
Exceptions Handling (แอ็กเซ็ปชั่น แฮลเดลลิ่ง) เป็นการดักเออเร่อของไพทอน โดยปรกติการเออเร่อจะมีข้อความแจ้งขึ้นมาและทำให้โปรแกรมหยุดทำงาน
ซึ่งถ้าได้ทำการดักเออเร่อไว้ โปรแกรมจะไม่เกิดเออเร่อขึ้นและสามารถทำงานต่อไปได้
ตัวอย่าง โครงสร้าง

Code: Select all

try:
	#โค้ดคำสั่ง
except ข้อความผิดพลาด1:
	#โค้ดคำสั่ง
except ข้อความผิดพลาด2:
	#โค้ดคำสั่ง
else: #เมื่อไม่มีข้อผิดพลาด
	#โค้ดคำสั่ง
ตัวอย่างข้อความเออเร่อ
pyts.png
pyts.png (23.58 KiB) Viewed 4099 times
ข้อความแจ้งข้อผิดพลาดสามารถอ่านได้ >>ที่นี่<<

หมายเหตุ: ไม่จำเป็นต้องใส่ else ก็ได้ แต่อย่างน้อยต้องมีหนึ่ง except: เพื่อรองรับข้อความเออเร่อ ไม่เช่นนั้นจะเกิดการเออเร่อ

ใน Exceptions Handling (แอ็กเซ็ปชั่น แฮลเดลลิ่ง) จะใช้อธิบายร่วมกับการรับค่าจากคีย์บอร์ด
โดยใช้คำสั่ง raw_input() โดยจะเก็บข้อมูลการกดคีย์บอร์ดไว้ที่ตัวแปร
ตัวอย่างโครงสร้าง

Code: Select all

input = raw_input("ข้อความขณะรอการกดคีย์บอร์ด :")
ผลลัพธ์
ข้อความขณะรอการกดคีย์บอร์ด :
เมื่อพิมพ์ข้อความเสร็จแล้วกด enter เพื่อสิ้นสุดการรอรับค่า
ตัวอย่าง

Code: Select all

name = raw_input("คุณชื่ออะไร: ")
print "สวัสดีคุณ ",name 
ตัวอย่าง การรับค่าคะแนนเพื่อคำนวนเกรดร่วมกับ Exception Handling โดยต้องนำค่าเฉพาะตัวเลขมาคำนวนเท่านั้น

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
โดยทั้งหมดนี้เป็นเพียงแค่พื้นฐานของภาษาไพทอน โดยสามารถไปศึกษาต่อแบบเป็นบทเรียนได้ >>ที่นี่<<
สำหรับ ท่านใดได้อ่านจนจบทั้งสองพาร์ทแล้วสามารถทดลองทำแบบฝึกหัดเพื่อทบทวนความรู้ได้ >>ที่นี่<<
Last edited by puopun.p on 30/06/2016 3:39 pm, edited 1 time in total.
puopun.p
PHP Hero Member
PHP Hero Member
Posts: 120
Joined: 27/06/2016 10:03 am

Re: พื้นฐานเกี่ยวกับภาษา Python 2.7 | PART 2

Post by puopun.p »

แบบฝึกหัดท้ายบท
จงคำนวนเกรด ของนักเรียน โดยจำลองข้อมูลในตัวแปรประเภท Dictionary

Code: Select all

student_data = {
	'name' : [
		'john','jack','justin','lee'
	],
	'score':[
		42,63,97,89,
	]
}
ก่อนเรียกดูเกรดนักเรียนต้องพิมพ์เข้าสู้ระบบโดยใช้
user = 'mindphp'
password = '1234'
เมื่อรหัสผ่านถูกต้องถึงจะเข้าดูเกรดได้ และได้ผลลัพธ์ดังนี้
user : #รอการพิมพ์
password: #รอการพิมพ์
#เมื่อพิมพ์ผิด
รหัสไม่ถูกต้อง #และให้กลับไปพิมพ์ใหม่
#เมื่อพิมพ์ถูกต้อง
Student Grade
john grade is F
jack grade is D
justin grade is A
lee grade is B
Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “Python Knowledge”

Who is online

Users browsing this forum: No registered users and 11 guests