3.8 การทํางานแบบมีทางเลือก
ที่ผ่านมาคําสั่งทุกคําสั่งที่ปรากฏในโปรแกรมจะมีการทํางานเสมอ แต่ในบางสถานการณ์ต้องการให้คําสั่ง บางคําสั่งทํางานเมื่อเงื่อนไขเป็นจริงตามที่ระบุเท่านั้น
ตัวอย่างที่ 3.14 มากไปน้อยไป
โปรแกรมด้านล่างรับค่าจากผู้ใช้แล้วเก็บไว้ในตัวแปร x ถ้า x มีค่าน้อยกว่า 50 โปรแกรมจะแสดงผลลัพธ์ ว่า Too small ถ้า %
มีค่ามากกว่า 50 จะแสดงผลลัพธ์ว่า T๐๐ large และถ้า x มีค่าเท่ากับ 50 จะแสดง ผลลัพธ์ว่า Perfect
x = int (input ("Enter a number: "))
if x < 50 :
print ("Too small")
if X > 50 :
print ("Too large")
if X == 50 :
print ("Perfect")
จะสังเกตเห็นว่า ในตัวอย่างข้างต้น เงื่อนไข x < 50, X > 50 และ X == 50 จะเป็นตัวกํากับว่าคําสั่ง ภายใต้ if จะทํางานเมื่อเงื่อนไข
เป็นจริงเท่านั้น
ตัวดําเนินการเปรียบเทียบ
ตัวดําเนินการที่ใช้ในการเปรียบเทียบ ได้แก่ น้อยกว่า (K) มากกว่า (>) เท่ากับ (==) น้อยกว่าหรือ เท่ากับ (<s) มากกว่าหรือเท่ากับ (>=) และไม่เท่ากับ (1=)
การทํางานแบบมีทางเลือก มีประโยชน์กรณีที่เราต้องการให้โปรแกรมทําการตัดสินใจบางอย่าง แล้วเลือก ทํางานชุดคําสั่งตามผลของเงื่อนไขที่กําหนดไว้ โดยมีรูปแบบคําสั่งแบบมีทางเลือก (selection statement) ในการใช้งานเบื้องต้น คือ
if เงื่อนไขทางเลือก :
ชุดคําสั่ง
คําสั่ง if จะประเมินค่าความเป็นจริงของเงื่อนไขก่อน ถ้าเป็นจริงก็จะทํางานตามคําสั่งในชุดคําสั่ง ไม่เช่นนั้นจะข้ามไปทํางานในคําสั่งถัดไป
ตัวอย่างที่ 3.15 ทายใจ
เขียนโปรแกรมไพทอนเพื่อให้เพื่อนเล่นเกมทายตัวเลขดังนี้
puzzle = 3 # บรรทัดที่ 1
guess = int (input(เลขที่ทาย (1-10) คือ ")) # บรรทัดที่ 2
if puzzle == guess: # บรรทัดที่ 3
print("คุณทายถูกแล้วค่ะ) # บรรทัดที่ 4
ตัวอย่างที่ 3.15 อธิบายได้ดังนี้
1. บรรทัดที่ 1 กําหนดตัวเลขที่ให้ทายเก็บไว้ในตัวแปร puzzle
2. บรรทัดที่ 2 รับข้อมูลเข้าจากผู้ทายเก็บไว้ในตัวแปร guess
3. ถ้าเงื่อนไขทางเลือก puzzle == guess ในคําสั่ง if ในบรรทัดที่ 3 เป็นจริง นั่นหมายความว่าทายตัวเลขถูกต้อง โปรแกรมจะ
แสดงข้อความตามคําสั่ง print
ในบางสถานการณ์ของการเขียนโปรแกรมที่ต้องการให้โปรแกรมทํางานมากกว่าหนึ่งทางเลือกเช่นถ้าโปรแกรม ในตัวอย่างที่ 3.15
สามารถบอกผลของการทายตัวเลขเมื่อทายไม่ถูกได้ด้วย ก็จะน่าสนใจขึ้น ภาษาไพทอน มีคําสั่ง if-else ให้ใช้ โดยมีรูปแบบการใช้ดังนี้
if เงื่อนไขทางเลือก :
ชุดคําสั่ง 1
else:
ชุดคําสั่ง 2
โดยถ้าเงื่อนไขทางเลือกเป็นจริงแล้ว จะทํางานใน ชุดคําสั่ง 1 ไม่เช่นนั้น จะทํางานใน ชุดคําสั่ง 2
ตัวอย่างที่ 3.16 ทายใจ 2
ปรับโปรแกรมในตัวอย่างที่ 3.15 ให้สามารถแจ้งผลของการทายตัวเลขที่ไม่ถูกต้องได้
puzzle = 3 # บรรทัดที่ 1
guess = int (input (เลขที่ทาย (1-10) คือ ) # บรรทัดที่ 2
if puzzle == guess: # บรรทัดที่ 3
print("คุณทายถูกแล้วค่ะ) # บรรทัดที่ 4
else: # บรรทัดที่ 5
print(คุณยังทายไม่ถูกค่ะ) # บรรทัดที่ 6
ตัวอย่างที่ 3.16 อธิบายได้ดังนี้
ต่อเนื่องจากตัวอย่างที่ 3.15 หากผู้ใช้ป้อนตัวเลขที่ทายไม่ถูกต้อง จะทําให้ผลของเงื่อนไขทางเลือก ในคําสั่ง if บรรทัดที่ 3 เป็นเท็จ คําสั่งในบรรทัดที่ 4 จะถูกข้ามไป และคําสั่งในบรรทัดที่ 6 ที่อยู่ภายใต้ else: จะถูกทํางานแทน
สรุปท้ายบท
การเขียนโปรแกรมไพทอนจะใช้ไอดีอี เป็นเครื่องมือช่วยในการพัฒนาโปรแกรม ซึ่งประกอบด้วย เครื่องมือแก้ไขโปรแกรมต้นฉบับ เครื่องมือแก้ไขจุดบกพร่องของโปรแกรม และเครื่องมือที่ช่วยรันโปรแกรม ไอดีอีไพทอนโดยทั่วไปจะทํางานได้ในโหมดอิมมีเดียท และโหมดสคริปต์ บทนี้ได้อธิบายคําสั่งพื้นฐาน เช่น คําสั่ง print () ใช้สําหรับแสดงค่าข้อมูลออกทางจอภาพ และ input () ทําหน้าที่รับข้อมูลเข้า จากคีย์บอร์ด
นอกจากนี้ยังส่งเสริมให้เรียนรู้การใช้งานตัวแปร ซึ่งตัวแปรใช้ในการอ้างถึงค่าข้อมูล โดยตัวแปร จะถูกกําหนดค่าด้วยเครื่องหมายเท่ากับ (=) การกําหนดชนิดข้อมูลสตริงและจํานวน รวมถึงการแปลง ชนิดข้อมูล การใช้งานโมดูล turtle เพื่อวาดรูป คําสั่งวนซ้ํา และคําสั่งแบบมีทางเลือก การเขียนนิพจน์ ทางคณิตศาสตร์ในไพทอน การนําไพทอนมาใช้เป็นเครื่องมือประยุกต์แก้ปัญหาทางคณิตศาสตร์ หรือวิทยาศาสตร์ โดยพื้นฐานนี้จะนําไปสู่การเขียนโปรแกรมคอมพิวเตอร์ในระดับสูงต่อไป