title: Why do Python's math.ceil() and math.floor() operations return floats instead of integers?
body: <p>Can someone explain this (straight from the <a href="http://docs.python.org/library/math.html#number-theoretic-and-representation-functions" rel="noreferrer">docs</a>- emphasis mine):</p>
  
  <blockquote>
    <p><strong>math.ceil(x)</strong> Return the ceiling of x <em>as a float</em>, the smallest <em>integer</em> value greater than or equal to x.</p>
    
    <p><strong>math.floor(x)</strong> Return the floor of x <em>as a float</em>, the largest <em>integer</em> value less than or equal to x.</p>
  </blockquote>
  
  <p>Why would <code>.ceil</code> and <code>.floor</code> return floats when they are by definition supposed to calculate integers?</p>
  
  <hr>
  
  <p><strong>EDIT:</strong></p>
  
  <p>Well this got some very good arguments as to why they <em>should</em> return floats, and I was just getting used to the idea, when <a href="https://stackoverflow.com/a/8582845/165673">@jcollado</a> pointed out that they in fact <em>do</em> return ints in Python 3...</p>