คีย์เวิร์ด Continue จะย้ายลำดับของโปรแกรมไปยังการวนซ้ำถัดไปในลูป หากคุณใช้คำสั่ง continue นอก for loop หรือ while loop SyntaxError: continue not properly in loop
ข้อผิดพลาดจะถูกยกขึ้น
คู่มือนี้จะสำรวจความหมายของข้อผิดพลาดนี้และสาเหตุที่คุณอาจพบข้อผิดพลาดนี้ โดยจะแนะนำตัวอย่างข้อผิดพลาดนี้เพื่อให้คุณทราบวิธีการทำงาน
SyntaxError:ดำเนินการต่อไม่ถูกต้องในลูป
คำสั่ง Continue ให้คุณย้ายไปยังการวนซ้ำถัดไปใน for loop หรือ while loop คำสั่งต่อเช่นคำสั่งแบ่งไม่มีอาร์กิวเมนต์ พวกเขายืนอยู่คนเดียวในโปรแกรม
คุณสามารถใช้ได้เฉพาะคำสั่งต่อในลูปเท่านั้น นี่เป็นเพราะข้อความสั่งต่อได้รับการออกแบบให้ปรากฏในลูป คุณไม่สามารถใช้คำสั่ง Continue เพื่อสั่งให้โปรแกรม continue
นอกลูปเนื่องจากไม่มีบริบทสำหรับคีย์เวิร์ดในการตีความสิ่งที่ต้องดำเนินการต่อ
คำสั่ง Continue สามารถปรากฏในคำสั่ง if หรือบล็อกของโค้ดอื่น ตราบใดที่บล็อคของโค้ดนั้นอยู่ในลูป
ตัวอย่างสถานการณ์
มาสร้างโปรแกรมที่ตรวจสอบความถูกต้องของอินพุตสำหรับระบบการจัดการสินค้าคงคลังที่ร้านกาแฟกันเถอะ เพื่อให้ข้อมูลที่ป้อนถูกต้อง ต้องมีอักขระอย่างน้อยสามตัว
ในการเริ่มต้น ให้ขอให้ผู้ใช้ใส่ชื่อผลิตภัณฑ์ที่ต้องการเข้าสู่ระบบ:
product_name = input(“Enter the product name: ”)
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
ต่อไป มาตรวจสอบการตอบกลับนี้กัน เราจะใช้คำสั่ง if เพื่อให้แน่ใจว่าอินพุตมีความยาวอย่างน้อย 3 อักขระ:
if len(product_name) < 3: print("Product names must be at least three characters long.") continue else: break print("Your product name is valid.")
ถ้าผู้ใช้แทรกชื่อผลิตภัณฑ์ภายใต้ความยาวสามอักขระ ข้อความจะถูกพิมพ์ไปยังคอนโซล จากนั้นคำสั่งดำเนินการต่อไปจะรัน มิฉะนั้น คำสั่ง break จะทำงาน เราใช้เมธอด len() เพื่อดึงความยาวของชื่อผลิตภัณฑ์
หากชื่อผลิตภัณฑ์ของเราถูกต้อง ข้อความที่แจ้งให้เราทราบเกี่ยวกับกรณีนี้จะปรากฏบนคอนโซล
ตอนนี้เราได้เขียนเครื่องมือตรวจสอบแล้ว เราก็พร้อมที่จะเรียกใช้โค้ดของเราแล้ว มาดูกันว่าจะเกิดอะไรขึ้นเมื่อเรารันโปรแกรมของเรา:
File "main.py", line 3 continue ^ SyntaxError: 'continue' not properly in loop
รหัสของเราส่งคืนข้อผิดพลาด
การแก้ปัญหา
เราใช้ข้อความบอกต่อเพื่อบอกให้โปรแกรมดำเนินการต่อไปหากตรงตามเงื่อนไขเฉพาะ แม้ว่าเราจะสามารถใช้คำสั่ง Continue ในคำสั่ง if ได้ แต่คำสั่ง Continue ของเราต้องปรากฏที่ใดที่หนึ่งภายในลูป
เราไม่ใช้การวนซ้ำในโปรแกรมของเราซึ่งทำให้การใช้การดำเนินการต่อค่อนข้างต่อต้าน ยิ่งไปกว่านั้น เรากำลังใช้การดำเนินการต่อ ซึ่งทำให้เกิดข้อผิดพลาด เพื่อแก้ไขข้อผิดพลาดนี้ เราต้องใส่รหัสของเราในลูป:
while True: product_name = input("Enter the product name: ") if len(product_name) < 3: print("Product names must be at least three characters long.") continue else: break print("Your product name is valid.")
เราได้ทำการเปลี่ยนแปลงรหัสของเราหนึ่งครั้ง โปรแกรมทั้งหมดของเราอยู่ในวงในขณะที่ ซึ่งหมายความว่าผู้ใช้ของเราจะได้รับแจ้งให้ป้อนชื่อผลิตภัณฑ์จนกว่าการวนซ้ำจะหยุด
วงของเราจะหยุดก็ต่อเมื่อผู้ใช้ใส่ชื่อผลิตภัณฑ์ที่ถูกต้อง มิฉะนั้น ข้อความจะถูกพิมพ์ไปที่คอนโซล และวนซ้ำของเราจะวนซ้ำอีกครั้ง
มาเรียกใช้โปรแกรมของเราและดูว่าเกิดอะไรขึ้น:
ชื่อผลิตภัณฑ์ของคุณถูกต้อง
ใส่ชื่อผลิตภัณฑ์:รวันดา
รหัสของเราทำงานสำเร็จ! มาลองเรียกใช้รหัสของเรากับชื่อผลิตภัณฑ์ที่ไม่ถูกต้อง:
ใส่ชื่อผลิตภัณฑ์:RW
ชื่อผลิตภัณฑ์ต้องมีความยาวอย่างน้อย 3 อักขระ
ใส่ชื่อผลิตภัณฑ์:
โปรแกรมของเราแจ้งว่าชื่อผลิตภัณฑ์ไม่ถูกต้อง และแจ้งให้เราใส่ชื่อผลิตภัณฑ์อื่น
บทสรุป
SyntaxError: continue not properly in loop
เกิดข้อผิดพลาดขึ้นเมื่อคุณพยายามใช้คำสั่ง continue ภายนอก for loop หรือ while loop ในการแก้ไขข้อผิดพลาดนี้ ให้ใส่ข้อความสั่งการดำเนินต่อในโค้ดของคุณภายในลูป
ตอนนี้คุณมีความรู้ที่จำเป็นในการแก้ไขข้อผิดพลาดนี้อย่างมืออาชีพแล้ว!