หาวิธีการเดินทางโดยใช้เงื่อนไข if-else ในการตัดสินใจและใช้ while ในการวนรับค่า

 

โจทย์

ให้นักเรียนออกแบบและเขียนโปรแกรมเพื่อคำนวณหาวิธีการเดินทางตามเงื่อนไขต่อไปนี้

  • ระยะทางน้อยกว่า 1 กิโลเมตรเดินทางโดยรถจักรยาน

  • ระยะทาง 1 กิโลเมตรขึ้นไปเดินทางโดยรถโดยสาร

โปรแกรม

distance = ""
while not distance.isdigit():
    distance = input("Please enter the distance in KM.")

if int(distance) < 1:
    print("You can use a bicycle.")
else:
    print("You should drive a car.")

คำอธิบายโปรแกรม

โปรแกรมนี้ทำงานตามขั้นตอนดังนี้

  1. สร้างตัวแปร distance และกำหนดค่าเริ่มต้นเป็นสตริงว่าง

  2. เริ่มลูป while ที่จะทำงานต่อไปเรื่อยๆ จนกว่าค่าใน distance จะเป็นตัวเลขทั้งหมด:

    • ใช้ฟังก์ชัน input() เพื่อรับค่าระยะทางจากผู้ใช้และเก็บในตัวแปร distance

    • ใช้เมธอด isdigit() เพื่อตรวจสอบว่าค่าที่รับมาเป็นตัวเลขทั้งหมดหรือไม่

    • ถ้าไม่ใช่ตัวเลขทั้งหมด ลูปจะทำงานต่อและถามผู้ใช้อีกครั้ง

  3. เมื่อได้ค่าระยะทางที่เป็นตัวเลขแล้ว โปรแกรมจะใช้คำสั่ง if-else เพื่อตัดสินใจ:

    • แปลงค่า distance เป็นจำนวนเต็มด้วย int()

    • ถ้าระยะทางน้อยกว่า 1 กิโลเมตร (< 1) จะแสดงข้อความ "You can use a bicycle."

    • ถ้าระยะทางมากกว่าหรือเท่ากับ 1 กิโลเมตร จะแสดงข้อความ "You should drive a car."

โปรแกรมนี้แสดงการใช้งานลูป while, การตรวจสอบประเภทข้อมูลด้วย isdigit(), การแปลงประเภทข้อมูลด้วย int(), และการใช้เงื่อนไข if-else ในภาษาไพทอน เพื่อรับข้อมูลจากผู้ใช้และตัดสินใจเลือกวิธีการเดินทางตามเงื่อนไขที่กำหนด