หาวิธีการเดินทางโดยใช้เงื่อนไข 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.")
คำอธิบายโปรแกรม
โปรแกรมนี้ทำงานตามขั้นตอนดังนี้
สร้างตัวแปร
distance
และกำหนดค่าเริ่มต้นเป็นสตริงว่างเริ่มลูป
while
ที่จะทำงานต่อไปเรื่อยๆ จนกว่าค่าในdistance
จะเป็นตัวเลขทั้งหมด:ใช้ฟังก์ชัน
input()
เพื่อรับค่าระยะทางจากผู้ใช้และเก็บในตัวแปรdistance
ใช้เมธอด
isdigit()
เพื่อตรวจสอบว่าค่าที่รับมาเป็นตัวเลขทั้งหมดหรือไม่ถ้าไม่ใช่ตัวเลขทั้งหมด ลูปจะทำงานต่อและถามผู้ใช้อีกครั้ง
เมื่อได้ค่าระยะทางที่เป็นตัวเลขแล้ว โปรแกรมจะใช้คำสั่ง
if-else
เพื่อตัดสินใจ:แปลงค่า
distance
เป็นจำนวนเต็มด้วยint()
ถ้าระยะทางน้อยกว่า 1 กิโลเมตร (< 1) จะแสดงข้อความ "You can use a bicycle."
ถ้าระยะทางมากกว่าหรือเท่ากับ 1 กิโลเมตร จะแสดงข้อความ "You should drive a car."
โปรแกรมนี้แสดงการใช้งานลูป while
, การตรวจสอบประเภทข้อมูลด้วย isdigit()
, การแปลงประเภทข้อมูลด้วย int()
, และการใช้เงื่อนไข if-else
ในภาษาไพทอน เพื่อรับข้อมูลจากผู้ใช้และตัดสินใจเลือกวิธีการเดินทางตามเงื่อนไขที่กำหนด