Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python SyntaxError:루프에서 계속이 적절하지 않음 솔루션

계속 키워드는 프로그램의 순서를 루프의 다음 반복으로 이동합니다. for 루프 또는 while 루프 외부에서 continue 문을 사용하는 경우 SyntaxError: continue not properly in loop 오류가 발생합니다.

이 가이드에서는 이 오류의 의미와 오류가 발생할 수 있는 이유를 살펴봅니다. 작동 방식을 파악할 수 있도록 이 오류의 예를 안내합니다.

SyntaxError:루프에서 계속되지 않음

계속 문을 사용하면 for 루프나 while 루프에서 다음 반복으로 이동할 수 있습니다. break 문과 같은 Continue 문은 인수를 사용하지 않습니다. 그들은 프로그램에 혼자 서 있습니다.

루프에서는 계속 문만 사용할 수 있습니다. 이는 계속 문이 루프에 나타나도록 설계되었기 때문입니다. 프로그램에 continue하도록 지시하기 위해 계속 문을 사용할 수 없습니다. 계속해야 하는 것을 해석할 키워드에 대한 컨텍스트가 없기 때문에 루프 외부에 있습니다.

Continue 문은 해당 코드 블록이 루프 안에 있는 한 if 문이나 다른 코드 블록 안에 나타날 수 있습니다.

예시 시나리오

커피 하우스의 재고 관리 시스템에 대한 입력을 검증하는 프로그램을 빌드해 보겠습니다. 입력이 유효하려면 최소 3자를 포함해야 합니다.

시작하기 위해 사용자에게 시스템에 입력하려는 제품 이름을 입력하도록 요청해 보겠습니다.

product_name = input(“Enter the product name: ”)

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

다음으로 이 응답을 확인하겠습니다. 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.")

사용자가 제품 이름을 3자 이내로 입력하면 콘솔에 메시지가 출력된 후 계속 문이 실행됩니다. 그렇지 않으면 break 문이 실행됩니다. len() 메서드를 사용하여 제품 이름의 길이를 검색합니다.

제품 이름이 유효한 경우 콘솔에 이 경우임을 알리는 메시지가 표시됩니다.

이제 유효성 검사기를 작성했으므로 코드를 실행할 준비가 되었습니다. 프로그램을 실행할 때 어떤 일이 발생하는지 봅시다.

 File "main.py", line 3
	continue
	^
SyntaxError: 'continue' not properly in loop

코드가 오류를 반환합니다.

해결책

특정 조건이 충족되면 계속 진행하도록 프로그램에 지시하기 위해 계속 문을 사용했습니다. if 문에서 계속 문을 사용할 수 있지만 계속 문은 루프 내 어딘가에 나타나야 합니다.

우리는 프로그램에서 계속 사용을 다소 비생산적으로 만드는 루프를 사용하지 않습니다. 더군다나 우리는 계속해서 오류를 일으키고 있습니다. 이 오류를 수정하려면 코드를 루프로 묶어야 합니다.

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.")

코드를 한 번 변경했습니다. 우리의 모든 프로그램은 이제 while 루프 안에 있습니다. 즉, 루프가 멈출 때까지 사용자에게 제품 이름을 입력하라는 메시지가 표시됩니다.

사용자가 유효한 제품 이름을 삽입하는 경우에만 루프가 중지됩니다. 그렇지 않으면 메시지가 콘솔에 인쇄되고 루프가 다시 반복됩니다.

프로그램을 실행하고 무슨 일이 일어나는지 봅시다:

제품 이름이 유효합니다.

제품 이름 입력:르완다

코드가 성공적으로 실행됩니다! 잘못된 제품 이름에서 코드를 실행해 보겠습니다.

제품 이름 입력:RW

제품 이름은 3자 이상이어야 합니다.

제품 이름 입력:

프로그램에서 제품 이름이 잘못되었음을 알리고 다른 제품 이름을 삽입하라는 메시지를 표시합니다.

결론

SyntaxError: continue not properly in loop for 루프 또는 while 루프 외부에서 계속 문을 사용하려고 하면 오류가 발생합니다. 이 오류를 수정하려면 코드의 모든 계속 문을 루프 내부로 묶습니다.

이제 전문가처럼 이 오류를 수정하는 데 필요한 지식을 얻었습니다!