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

파이썬의 NZEC 오류?

<시간/>

NZEC는 0이 아닌 종료 코드입니다.

종료 코드는 성공적으로 종료(종료 코드 0)하거나 오류로 인해 종료에 실패한 경우(0이 아닌 종료 코드) 프로그램을 실행하여 운영 체제에 반환하는 코드(숫자)입니다.

Python 또는 Java 프로그래밍 언어가 예외 처리를 지원하므로 try-catch 블록을 사용하여 예외 처리를 사용하여 이 오류를 잡을 수 있습니다.

NZEC 오류는 런타임 오류이며 주로 음수 배열 인덱스에 액세스하거나 우리가 작성한 프로그램이 프로그램 실행에 할당된 메모리보다 더 많은 메모리 공간을 사용하고 있을 때 발생합니다.

파이썬에서 예외 클래스는 모든 오류와 예외의 상위 클래스입니다.

아래 코드 샘플을 사용할 수 있습니다.

try:
   #Code that may throw an error
except Exception, e:
   pass

예시 1

잘못된 방법 -

x,y = map(int, input())

올바른 방법 -

x,y = map(int, input().split())

공백으로 입력을 구분하려면:

NZEC 오류가 발생하는 가능한 이유:

  • 무한 재귀 – 또는 스택 메모리가 부족한 경우.

  • 입력 및 출력이 모두 테스트 케이스와 정확히 동일한지 확인하십시오. 출력을 지정된 출력과 정확히 일치시키는 컴퓨터 코드를 사용하여 프로그램을 테스트하는 것이 좋습니다.

  • 이 오류가 발생하는 또 다른 일반적인 이유는 0으로 나누는 것과 같은 기본적인 프로그래밍 실수를 할 때입니다.

  • 변수 값을 확인하십시오. 정수 흐름에 취약할 수 있습니다.

  • 20보다 큰 계승값을 직접 계산하려고 시도하고 있다면, 다른 방법을 찾으십시오.

일반적으로 codechef와 같은 경쟁 프로그래밍 플랫폼은 오류 코드를 제공하지 않으므로 직접 코드를 디버그해야 합니다. 엣지 케이스(코너 케이스)를 확인하고, 위에서 언급한 실수가 없는지 확인하십시오.

예시 2

나쁜 방법:

for i in range(0,n):
   x=int(input())
   arr.append(x)

올바른 방법:

arr = [int(k) for k in input().split()]

또는

arr = list(map(int, input().split()))