เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

เพิ่มเงื่อนไข

while loop ที่ปรับค่า offset เป็นจุดเริ่มต้นที่ดี แต่จะเกิดอะไรขึ้นถ้า offset มีค่าติดลบ? ลองรันโค้ดด้านล่างนี้ โดยกำหนดให้ offset เริ่มต้นที่ -6:

# Initialize offset
offset = -6

# Code the while loop
while offset != 0 :
    print("correcting...")
    offset = offset - 1
    print(offset)

เซสชันจะถูกตัดการเชื่อมต่อ เพราะ while loop จะไม่หยุดทำงาน — ค่า offset จะลดลงเรื่อย ๆ ทุกรอบ ทำให้ offset != 0 ไม่มีวันเป็น False และ loop ก็จะวนซ้ำไปตลอด

แก้ไขปัญหานี้ด้วยการเพิ่มคำสั่ง if-else ไว้ภายใน while loop

หากว่า while loop ใช้เวลารันนานเกินไป หรือเซสชันหมดอายุ แสดงว่าอาจเกิด infinite loop ขึ้น อย่าลืม ย่อหน้า เนื้อหาภายใน loop ด้วย 4 ช่องว่างหรือใช้การย่อหน้าอัตโนมัติ และตรวจสอบให้แน่ใจว่าเงื่อนไขที่กำหนดไว้ทำให้ loop มีจุดสิ้นสุด

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Python ระดับกลาง

ดูคอร์ส

คำแนะนำการฝึกหัด

  • กำหนดค่าเริ่มต้นของ offset เป็น -6
  • ภายใน while loop ให้เติมคำสั่ง if-else ให้ครบ:
    • ถ้า offset มีค่ามากกว่าศูนย์ ให้ลดค่า offset ลง 1
    • มิฉะนั้น ให้เพิ่มค่า offset ขึ้น 1

หากโค้ดใช้เวลารันนานเกินไป (หรือเซสชันหมดอายุ) แสดงว่ามีข้อผิดพลาดเกิดขึ้น ตรวจสอบโค้ดและให้แน่ใจว่า offset != 0 จะประเมินค่าเป็น FALSE ในที่สุด!

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Initialize offset
offset = -6

# Code the while loop
while offset != 0 :
    print("correcting...")
    if ____ :
      ____
    else : 
      ____    
    print(offset)
แก้ไขและรันโค้ด