본문 바로가기
프로그래밍언어/파이썬[Error]

[파이썬][Error] 059. ZeroDivisionError - integer division or modulo by zero

by about_IT 2025. 5. 29.
728x90

ZeroDivisionError: integer division or modulo by zero 오류는 정수 나눗셈 연산자 // 또는 나머지 연산자 %를 사용할 때, 분모가 0이 되어 발생하는 예외입니다. 파이썬에서는 0으로 나누거나 0으로 나눈 나머지를 구하는 연산을 수학적으로 허용하지 않기 때문에 이 오류가 발생합니다.

특히 반복문, 인덱싱, 해시 계산, 또는 어떤 수의 배수를 계산하는 과정에서 분모에 해당하는 값이 0이 될 수 있다면 반드시 사전 검사 또는 예외 처리를 해주어야 합니다.

● 오류 발생 예시

x = 10
y = 0
print(x // y)
print(x % y)

y가 0이기 때문에 // 또는 % 연산 시 ZeroDivisionError가 발생합니다.

ZeroDivisionError: integer division or modulo by zero

● 해결 방법

  • 연산 전에 분모가 0인지 검사
  • try-except 구문을 사용하여 예외 처리
  • 0으로 나누는 경우를 정의된 기본값으로 대체

● 예시 코드

if y != 0:
    print(x // y)
    print(x % y)
else:
    print("0으로는 나눌 수 없습니다.")

● 자주 하는 실수

  • 사용자 입력을 검증 없이 분모에 사용하는 경우
  • 빈 리스트의 길이로 나눗셈 연산 수행
  • 루프 내에서 분모가 변화하는 경우 예외 상황 미처리

● 결론

ZeroDivisionError - integer division or modulo by zero 오류는 정수 나눗셈이나 나머지 연산에서 분모가 0이 될 때 발생합니다. 분모가 0이 되는 상황을 미리 예측하고 조건문 또는 예외 처리로 안전하게 코드 흐름을 제어하는 것이 중요합니다.

728x90