Python의 정수 나누기: 수수께끼
Python의 나누기 연산은 음의 정수가 포함될 때 예상치 못한 결과를 초래할 수 있습니다. 다음 표현식:
<code class="python">8 / -7</code>
은 -2라는 놀라운 결과를 반환합니다. 간단한 산술 연산으로 음의 실수가 나올 것으로 예상할 수 있으므로 이 결과는 직관에 어긋나는 것처럼 보일 수 있습니다.
동작 이해
이 동작에 대한 설명은 다음과 같습니다. 파이썬의 "바닥 구분" 개념. 나눗셈이 항상 실수가 되는 수학과는 달리, Python의 정수 나눗셈은 결과를 가장 가까운 정수로 반올림합니다. 이 "바닥재" 효과는 놀라운 음의 정수 결과를 가져옵니다.
이 경우 연산 8/-7은 실제로 8.0/(-7.0)을 계산하며 이는 대략 -1.143입니다. 그러나 정수 나누기로 인해 결과는 -2로 반올림됩니다.
의미 및 해결 방법
이러한 동작은 특히 양수와 양수를 혼합할 때 당황스러운 결과를 초래할 수 있습니다. 나누기 연산의 음수. 예를 들어:
<code class="python">8 / 7 # Returns 1 8 / -7 # Returns -2</code>
Python 3에서는 //로 표시되는 정수 나누기를 위한 고유한 연산자를 도입하여 이 문제를 해결했습니다. 이 연산자를 사용하면 Python 2 동작에서와 같이 결과가 항상 정수가 됩니다.
<code class="python">8 // -7 # Returns -2</code>
결론
Python에서 음의 정수 나누기의 놀라운 결과 결과를 가장 가까운 정수로 반올림하는 바닥 나누기 개념에서 비롯되었습니다. 이러한 예상치 못한 결과를 방지하려면 다음을 고려하십시오.
위 내용은 Python에서 정수 나누기가 언제 당황합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!