>  기사  >  백엔드 개발  >  Python에서 정수 나누기가 언제 당황합니까?

Python에서 정수 나누기가 언제 당황합니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-24 11:57:02241검색

When Does Integer Division in Python Puzzle You?

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에서 음의 정수 나누기의 놀라운 결과 결과를 가장 가까운 정수로 반올림하는 바닥 나누기 개념에서 비롯되었습니다. 이러한 예상치 못한 결과를 방지하려면 다음을 고려하십시오.

  • 부동 소수점 나누기(8.0 / -7.0)를 사용하여 실수 결과를 얻습니다.
  • 에서 // 연산자를 명시적으로 사용합니다. 정수 나누기를 위한 Python 3.
  • 나누기 연산에서 양수와 음수를 혼합할 때 발생할 수 있는 놀라움에 주의하세요.

위 내용은 Python에서 정수 나누기가 언제 당황합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.