저는 + Inf와 -Inf를 각각 결과로 볼 것으로 예상되는 곳에서 0.0 또는 -0.0으로 나누는 것이 합리적 인 상황이 있습니다. 파이썬은 어느 경우 에나-0.0과 0.0으로 파이썬 나누기를 얻는 방법 -Inf와 Inf에서 각각 결과를 얻으려면 어떻게해야합니까?
ZeroDivisionError: float division by zero
을 던지고있는 것 같습니다. 분명히, 나는 이것을 단순히 0.0의 테스트로 감쌀 수 있다고 생각했다. 그러나 나는 +0.0과 -0.0을 구별 할 수있는 방법을 찾을 수 없다. (당신은 쉽게 그것을 입력하거나 -1.0 * 0.0과 같은 일반적인 계산을 통해 -0.0을 얻을 수 있습니다.)
IEEE는이 모든 것을 매우 훌륭하게 처리하지만, 파이썬은 잘 생각한 IEEE 동작을 숨기기 위해 애쓰는 것처럼 보입니다. 사실, 0.0 == -0.0이라는 사실은 실제로 IEEE 기능이므로 파이썬의 동작은 심각하게 문제를 일으 킵니다. C, Java, Tcl 및 JavaScript에서도 완벽하게 작동합니다.
제안 사항?
+1 확실히 내 솔루션보다 깨끗합니다. – Blender
아주 멋지다 - 그런 식으로 생각하지 않을 것이다.) +1 –