Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python SyntaxError:ดำเนินการต่อไม่ถูกต้องในลูป Solution

คีย์เวิร์ด 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 ในการแก้ไขข้อผิดพลาดนี้ ให้ใส่ข้อความสั่งการดำเนินต่อในโค้ดของคุณภายในลูป

ตอนนี้คุณมีความรู้ที่จำเป็นในการแก้ไขข้อผิดพลาดนี้อย่างมืออาชีพแล้ว!