4: การใช้เงื่อนไขและการวนซ้ำ
การใช้เงื่อนไข (if-else) และ การวนซ้ำ (loop) ซึ่งเป็นพื้นฐานสำคัญในการเขียนโปรแกรมด้วย Python โดยเนื้อหาจะอธิบายอย่างละเอียด ทั้งการใช้เงื่อนไขแบบต่างๆ และการวนซ้ำในรูปแบบที่แตกต่างกัน
1. การใช้เงื่อนไข (if-else)
เงื่อนไข ช่วยให้โปรแกรมสามารถตัดสินใจได้ตามสถานการณ์ที่กำหนด เช่น การเลือกทำอย่างหนึ่งถ้าเงื่อนไขเป็นจริง และทำอีกอย่างหนึ่งถ้าเงื่อนไขเป็นเท็จ ใน Python เราใช้คำสั่ง if, else, และ elif เพื่อจัดการเงื่อนไข
โครงสร้างพื้นฐานของเงื่อนไข
Pythonif เงื่อนไข:
# คำสั่งที่จะทำถ้าเงื่อนไขเป็นจริง
else:
# คำสั่งที่จะทำถ้าเงื่อนไขเป็นเท็จ
ตัวอย่าง: ตรวจสอบว่าฝนตกหรือไม่
Pythonis_raining = True
if is_raining:
print("กางร่มด้วยนะ")
else:
print("วันนี้อากาศดี")
- ถ้า is_raining เป็น True จะแสดง “กางร่มด้วยนะ”
- ถ้า is_raining เป็น False จะแสดง “วันนี้อากาศดี”
การใช้ elif เพื่อเพิ่มเงื่อนไข
ถ้ามีเงื่อนไขมากกว่า 2 กรณี เราใช้ elif (ย่อมาจาก else if) เพื่อตรวจสอบเงื่อนไขเพิ่มเติม
Pythontemperature = 28
if temperature > 30:
print("อากาศร้อนมาก")
elif temperature > 25:
print("อากาศอุ่นๆ")
else:
print("อากาศเย็นสบาย")
- ถ้า temperature > 30 แสดง “อากาศร้อนมาก”
- ถ้า temperature > 25 แต่ไม่เกิน 30 แสดง “อากาศอุ่นๆ”
- ถ้าน้อยกว่า 25 แสดง “อากาศเย็นสบาย”
2. ตัวดำเนินการที่ใช้กับเงื่อนไข
ตัวดำเนินการเปรียบเทียบ
- == : เท่ากับ
- != : ไม่เท่ากับ
- > : มากกว่า
- < : น้อยกว่า
- >= : มากกว่าหรือเท่ากับ
- <= : น้อยกว่าหรือเท่ากับ
ตัวดำเนินการทางตรรกะ
- not : กลับค่าความจริง (จริงกลายเป็นเท็จ, เท็จกลายเป็นจริง)
- and : เงื่อนไขทั้งสองต้องเป็นจริง
- or : อย่างน้อยหนึ่งเงื่อนไขเป็นจริง
ตัวอย่าง: ตรวจสอบวันหยุด
Pythonday = "เสาร์"
is_holiday = True
if day == "เสาร์" or day == "อาทิตย์" or is_holiday:
print("วันนี้หยุด!")
else:
print("วันนี้ต้องทำงาน")
ถ้า day เป็น “เสาร์” หรือ “อาทิตย์” หรือ is_holiday เป็น True จะแสดง “วันนี้หยุด!”
3. การวนซ้ำ (Loop)
การวนซ้ำ ช่วยให้โปรแกรมทำงานซ้ำๆ ได้ตามที่เราต้องการ เช่น การนับเลขหรือการประมวลผลข้อมูลหลายครั้ง ใน Python มีการวนซ้ำ 2 รูปแบบหลัก คือ for และ while
3.1 การใช้ for Loop
- เหมาะสำหรับการวนซ้ำตามจำนวนครั้งที่กำหนด หรือวนซ้ำตามลำดับข้อมูล (เช่น ลิสต์, range)
- โครงสร้าง:
Pythonfor ตัวแปร in ลำดับ:
# คำสั่งที่จะทำในแต่ละรอบ
ตัวอย่าง: แสดงเลข 1 ถึง 5
Pythonfor number in range(1, 6):
print(number)
ผลลัพธ์:
range(1, 6) สร้างลำดับเลขตั้งแต่ 1 ถึง 5 (ไม่รวม 6)
ตัวอย่าง: วนซ้ำในลิสต์
Pythoncolors = ["แดง", "น้ำเงิน", "เขียว"]
for color in colors:
print("สี:", color)
ผลลัพธ์:
TEXTสี: แดง
สี: น้ำเงิน
สี: เขียว
3.2 การใช้ while Loop
- เหมาะสำหรับการวนซ้ำตราบเท่าที่เงื่อนไขยังเป็นจริง
- โครงสร้าง:
Pythonwhile เงื่อนไข:
# คำสั่งที่จะทำตราบเท่าที่เงื่อนไขเป็นจริง
ตัวอย่าง: นับเลข 1 ถึง 5
Pythoncount = 1
while count <= 5:
print(count)
count += 1 # เพิ่มค่า count ทีละ 1
ผลลัพธ์:
คำสั่งควบคุมการวนซ้ำ
- break: หยุดการวนซ้ำทันที
- continue: ข้ามไปรอบถัดไปโดยไม่ทำคำสั่งที่เหลือในรอบนั้น
ตัวอย่าง: หยุดเมื่อเจอเลข 4
Pythonfor i in range(1, 10):
if i == 4:
break
print(i)
ผลลัพธ์: