title: Python 3 int division operator is returning a float?
body: <p>In one of my assignments I came across a weird implementation, and I was curious if it's a bug or the designed behavior.</p>
  
  <p>In Python 3, division by <code>/</code> returns a floating point number, and <code>//</code> means integer division and should return an integer. I've discovered though that if either of the values is a float when doing integer division, it will return a float.</p>
  
  <p>Example:</p>
  
  <pre><code># These all work as expected
  10 / 2
  -&gt; 5.0
  11 / 2
  -&gt; 5.5
  10 // 2
  -&gt; 5
  11 // 2
  -&gt; 5
  # Here things start to get weird
  10.0 // 2
  -&gt; 5.0
  10 // 2.0
  -&gt; 5.0
  11.0 // 2
  -&gt; 5.0
  </code></pre>
  
  <p>Is this <em>supposed</em> to behave this way? If so, <em>why</em> does it behave this way?</p>