Python 2.x math.ceil(0.5)返回与math.ceil(1/2)不同的值

Python 2.x math.ceil(0.5)返回与math.ceil(1/2)不同的值,python-2.x,ceil,Python 2.x,Ceil,返回 import math print(math.ceil(0.5)) import math print(math.ceil(1/2)) 但是 返回 import math print(math.ceil(0.5)) import math print(math.ceil(1/2)) 这是怎么回事?解释会很好。似乎您正在使用python 2.x运行该代码,您需要强制转换以明确地浮动: 0.0 如果运行python 3.x,则无需明确执行该强制转换,您将获得相同的输出: import

返回

import math
print(math.ceil(0.5))
import math
print(math.ceil(1/2))
但是

返回

import math
print(math.ceil(0.5))
import math
print(math.ceil(1/2))

这是怎么回事?解释会很好。

似乎您正在使用python 2.x运行该代码,您需要强制转换以明确地浮动:

0.0
如果运行python 3.x,则无需明确执行该强制转换,您将获得相同的输出:

import math
print(math.ceil(0.5))
print(math.ceil(float(1) / float(2)))

这个问题的可能重复之处在于寻找解释,而不仅仅是工作代码。您的回答没有为提问者提供任何见解,可能会被删除。请解释奥斯卡观察到的原因。
import math
print(math.ceil(1/float(2)))