ปฏิบัติ
โจทย์ข้อที่ 1 : การจัดการกับสตริงและ Loop 🔡
หัวข้อที่ทบทวน: การรับค่า, ตัวแปรชนิดสตริง (String), for
loop, การเข้าถึงข้อมูลในสตริงด้วย index
📜 โจทย์: จงเขียนโปรแกรมที่รับ “ชื่อเล่น” จากผู้ใช้ แล้วแสดงผลตัวอักษรแต่ละตัวในชื่อนั้นออกมาในแนวตั้ง พร้อมกับแสดงเลขลำดับ (index) ของแต่ละตัวอักษร โดยให้เลขลำดับเริ่มต้นที่ 0
โจทย์ข้อที่ 2 : การใช้เงื่อนไขและฟังก์ชัน 🎓
หัวข้อที่ทบทวน: การสร้างและเรียกใช้ฟังก์ชัน (Function), พารามิเตอร์ (Parameter), การคืนค่า (return
), และเงื่อนไข if/elif/else
📜 โจทย์: จงออกแบบโปรแกรมคำนวณเกรด โดยมีข้อกำหนดดังนี้:
- สร้างฟังก์ชันชื่อ
calculate_grade(score)
ที่รับพารามิเตอร์เป็น คะแนนสอบ (0-100).
- ภายในฟังก์ชัน ให้ใช้
if/elif/else
เพื่อตรวจสอบและ return
เกรดที่เป็นตัวอักษร (String) ตามเกณฑ์ต่อไปนี้:
- 80 – 100 ได้เกรด ‘A’
- 70 – 79 ได้เกรด ‘B’
- 60 – 69 ได้เกรด ‘C’
- 50 – 59 ได้เกรด ‘D’
- ต่ำกว่า 50 ได้เกรด ‘F’
- ในส่วนของโปรแกรมหลัก ให้รับค่าคะแนนจากผู้ใช้, เรียกใช้ฟังก์ชัน
calculate_grade
เพื่อคำนวณเกรด, และแสดงผลเกรดที่ได้รับ.
โจทย์ข้อที่ 3 : โปรแกรมจัดการรายการสิ่งที่ต้องทำ (To-Do List) 📝
หัวข้อที่ทบทวน: while
loop, List, การจัดการ List (append, remove), การแบ่งโปรแกรมเป็นฟังก์ชันย่อยๆ, การจัดการ Error เบื้องต้น
📜 โจทย์: จงเขียนโปรแกรม “To-Do List” แบบง่ายๆ ที่มีความสามารถดังนี้:
- โปรแกรมจะทำงานวนซ้ำไปเรื่อยๆ เพื่อรับคำสั่งจากผู้ใช้ จนกว่าผู้ใช้จะเลือก “4. ออกจากโปรแกรม”.
- ใช้ List ในการเก็บรายการสิ่งที่ต้องทำ.
- แบ่งการทำงานหลักๆ ออกเป็นฟังก์ชันย่อย ดังนี้:
display_menu()
: แสดงเมนูตัวเลือก (1-4) ให้ผู้ใช้.
add_task(task_list)
: รับชื่องานใหม่จากผู้ใช้ แล้วเพิ่มเข้าไปในลิสต์.
view_tasks(task_list)
: แสดงงานทั้งหมดในลิสต์พร้อมลำดับ (เริ่มต้นที่ 1). ถ้าไม่มีงาน ให้แสดงว่า “รายการว่าง”.
remove_task(task_list)
: แสดงรายการงานแล้วถามผู้ใช้ว่าต้องการลบงานลำดับที่เท่าไหร่ แล้วลบออกจากลิสต์.