บทที่ 3: เงื่อนไขและการตัดสินใจ (Conditionals)
3.3 การเขียนโปรแกรมที่ใช้การตัดสินใจตามเงื่อนไข
การเขียนโปรแกรมที่ใช้การตัดสินใจตามเงื่อนไข (Conditional Programming) เป็นพื้นฐานสำคัญในการพัฒนาโปรแกรมให้ทำงานตามเงื่อนไขที่กำหนดไว้ ไม่ว่าจะเป็นการตัดสินใจว่าจะแสดงผลลัพธ์อะไร หรือควบคุมการทำงานของโปรแกรมเมื่อเงื่อนไขบางอย่างเป็นจริงหรือไม่เป็นจริง ใน Python การตัดสินใจตามเงื่อนไขจะใช้คำสั่ง if, elif, และ else เพื่อควบคุมการทำงานของโปรแกรมตามเงื่อนไขที่กำหนด
หลักการของ Conditional Programming
- ตรวจสอบเงื่อนไข: โปรแกรมจะตรวจสอบเงื่อนไขที่กำหนดในคำสั่ง if หากเงื่อนไขนั้นเป็นจริง (True) โปรแกรมจะทำงานในบล็อกคำสั่งที่เกี่ยวข้อง
- การใช้ elif: หากเงื่อนไขแรกไม่เป็นจริง (False) โปรแกรมจะตรวจสอบเงื่อนไขต่อไปในคำสั่ง elif
- การใช้ else: หากไม่มีเงื่อนไขใด ๆ เป็นจริงเลย โปรแกรมจะทำงานในบล็อกคำสั่ง else หากมี
ตัวอย่างการเขียนโปรแกรมที่ใช้การตัดสินใจตามเงื่อนไข
ตัวอย่างที่ 1: การตัดสินใจแบบง่าย
ในตัวอย่างนี้ เราจะใช้คำสั่ง if และ else เพื่อทำการตัดสินใจง่าย ๆ ว่าผู้ใช้จะได้รับข้อความอะไรขึ้นอยู่กับอายุของเขา
age = int(input("Enter your age: "))
if age >= 18:
print("You are an adult.")
else:
print("You are not an adult.")
อธิบาย:
- โปรแกรมจะรับค่าอายุจากผู้ใช้
- หากอายุมากกว่าหรือเท่ากับ 18 โปรแกรมจะแสดงข้อความว่า "You are an adult."
- หากอายุน้อยกว่า 18 โปรแกรมจะแสดงข้อความว่า "You are not an adult."
ตัวอย่างที่ 2: การใช้หลายเงื่อนไข (Nested Conditions)
ในตัวอย่างนี้ เราจะตรวจสอบหลายเงื่อนไขเพื่อแสดงเกรดตามคะแนนที่ได้รับ
score = int(input("Enter your score: "))
if score >= 90:
print("You got an A.")
elif score >= 80:
print("You got a B.")
elif score >= 70:
print("You got a C.")
elif score >= 60:
print("You got a D.")
else:
print("You got an F.")
อธิบาย:
- โปรแกรมจะรับค่าคะแนนจากผู้ใช้
- จากนั้นจะเปรียบเทียบกับช่วงคะแนนที่กำหนดไว้เพื่อแสดงเกรดตามเงื่อนไข เช่น หากคะแนนอยู่ระหว่าง 80 ถึง 89 จะได้เกรด B เป็นต้น
ตัวอย่างที่ 3: การใช้ตัวดำเนินการตรรกศาสตร์ในเงื่อนไข
ในตัวอย่างนี้ เราจะใช้ตัวดำเนินการตรรกศาสตร์ (and, or) เพื่อเชื่อมเงื่อนไขหลายเงื่อนไขเข้าด้วยกัน
temperature = int(input("Enter the temperature: "))
is_sunny = input("Is it sunny today? (yes/no): ")
if temperature > 30 and is_sunny == "yes":
print("It's a hot and sunny day.")
elif temperature <= 30 and is_sunny == "yes":
print("It's a pleasant and sunny day.")
else:
print("The weather is not sunny.")
อธิบาย:
- โปรแกรมจะตรวจสอบว่าอุณหภูมิและสภาพอากาศเป็นอย่างไร และแสดงข้อความตามเงื่อนไข เช่น หากอุณหภูมิสูงกว่า 30 องศาและมีแดด จะบอกว่าร้อนและแดดจัด
การใช้การตัดสินใจตามเงื่อนไขในการแก้ปัญหา
การใช้เงื่อนไขสามารถนำไปประยุกต์ในการเขียนโปรแกรมเพื่อแก้ปัญหาต่าง ๆ ได้ เช่น การควบคุมการแสดงผลในเกม การคำนวณเงินเดือน การตรวจสอบข้อมูลผู้ใช้ และอื่น ๆ อีกมากมาย
ตัวอย่างที่ 4: การคำนวณเงินเดือนตามชั่วโมงการทำงาน
ในตัวอย่างนี้ โปรแกรมจะคำนวณเงินเดือนของพนักงานตามจำนวนชั่วโมงการทำงาน โดยมีการให้โบนัสสำหรับการทำงานเกินเวลา
hours_worked = int(input("Enter the number of hours worked: "))
hourly_rate = 15
if hours_worked > 40:
overtime = hours_worked - 40
regular_pay = 40 * hourly_rate
overtime_pay = overtime * (hourly_rate * 1.5)
total_pay = regular_pay + overtime_pay
else:
total_pay = hours_worked * hourly_rate
print("Total pay:", total_pay)
อธิบาย:
- หากพนักงานทำงานเกิน 40 ชั่วโมง จะมีการคำนวณค่าทำงานล่วงเวลา
- หากทำงานไม่เกิน 40 ชั่วโมง จะคำนวณเงินเดือนปกติ
สรุป
การใช้การตัดสินใจตามเงื่อนไขช่วยให้โปรแกรมมีความยืดหยุ่นและสามารถจัดการกับสถานการณ์ต่าง ๆ ได้อย่างมีประสิทธิภาพ โปรแกรมสามารถตรวจสอบเงื่อนไขหลายเงื่อนไขและทำงานตามเงื่อนไขที่กำหนด ซึ่งเป็นพื้นฐานสำคัญในการพัฒนาโปรแกรมที่มีความซับซ้อนมากขึ้น