ZeroDivisionError:Python에서 0으로 플로트 나누기

Rana Hasnain Khan 2023년6월21일
ZeroDivisionError:Python에서 0으로 플로트 나누기

ZeroDivisionError가 발생하는 이유와 Python에서 예제를 통해 쉽게 해결할 수 있는 방법을 소개합니다.

Python에서 ZeroDivisionError: Float Division by Zero

수학 방정식이나 결과에 기반한 수학적 표현이 포함된 코드를 작업할 때 흔히 발생하는 오류입니다. Python에서 숫자를 0으로 나누려고 하면 ZeroDivisionError가 발생합니다.

수학에서 숫자를 0으로 나누는 것은 불가능합니다. 코드를 통해 상황이 발생할 때마다 숫자를 0으로 나누면 예외가 발생합니다.

아래와 같이 Python을 사용하여 이 예외를 발생시키는 프로그램을 작성해 봅시다.

firstNum = 10
secondNum = 5
thirdNum = 7
forthNum = 5
print((firstNum + thirdNum) / (secondNum - forthNum))

출력:

파이썬에서 제로 나누기 오류

위의 예에서 볼 수 있듯이 분모를 빼면 0이 되고 ZeroDivisionError 오류가 발생합니다. 대신 아래와 같이 부동 숫자를 사용하여 다른 예를 테스트해 보겠습니다.

firstNum = 10.0
secondNum = 5.0
thirdNum = 7.0
forthNum = 5.0
print((firstNum + thirdNum) / (secondNum - forthNum))

이제 다음과 같은 오류 메시지가 나타납니다.

float 숫자를 사용한 0 나누기 오류

위의 예에서 볼 수 있듯이 분모의 결과가 0일 때마다 응용 프로그램이 중단되고 중요한 프로그램 실행 중에 중요한 데이터가 손실될 수 있습니다.

프로그램 충돌 및 중요한 정보 손실을 방지하려면 이러한 종류의 오류를 적절하게 처리하는 것이 중요합니다.

이 문제를 해결하는 방법에는 두 가지가 있으며 이에 대해 자세히 설명하겠습니다. 첫 번째 해결책은 if-else 문을 사용하는 것입니다.

나눗셈을 실행하려면 분모의 차이가 항상 0보다 커야 합니다. 두 분모의 차이가 0이면 0으로 나눌 수 없다는 메시지만 출력합니다.

솔루션 코드는 아래와 같습니다.

firstNum = 10.0
secondNum = 5.0
thirdNum = 7.0
forthNum = 5.0

nominators = firstNum + thirdNum
denominators = secondNum - forthNum
if denominators != 0:
    print((firstNum + thirdNum) / (secondNum - forthNum))
else:
    print("Cannot divide by zero.")

이 코드를 실행하면 다음과 같은 결과가 표시됩니다.

제로 나누기 오류 첫 번째 솔루션

위의 예에서 볼 수 있듯이, 코드는 분모 결과가 0인 경우 오류를 발생시키는 대신 출력하고자 하는 구문을 출력합니다. 두 번째 솔루션은 아래와 같이 tryexcept 방법을 사용합니다.

firstNum = 10.0
secondNum = 5.0
thirdNum = 7.0
forthNum = 5.0

try:
    print((firstNum + thirdNum) / (secondNum - forthNum))
except:
    print("Cannot divide by zero.")

코드는 표현식을 실행하려고 시도합니다. 성공적으로 실행되면 결과가 표시됩니다. 그렇지 않으면 0으로 나눌 수 없다는 문구가 표시됩니다. 다음 코드의 출력은 아래와 같습니다.

제로 나누기 오류 두 번째 솔루션

이러한 솔루션은 분모가 0이기 때문에 오류의 원인을 알고 있을 때만 오류를 처리한다는 점에 유의하는 것이 매우 중요합니다. 그러나 분모가 0일 수 있는지 확실하지 않은 경우에는 작업.

결론적으로 ZeroDivisionError: float division by zero는 Python에서 float를 0으로 나누려고 할 때 발생하는 일반적인 예외입니다.

이 예외는 if 문과 try-except 블록을 사용하여 처리할 수 있습니다. 충돌이나 잘못된 결과 생성을 방지하려면 코드에서 이 예외를 처리해야 합니다.

Rana Hasnain Khan avatar Rana Hasnain Khan avatar

Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.

LinkedIn

관련 문장 - Python Error