为什么math.ceil()会给出不同的答案

时间:2013-12-06 07:13:52

标签: python-2.7

我是python的新手。我试图解决一个矩阵问题,其中我必须在循环中使用退出条件,例如,如果矩阵的列和行是3或4然后我想运行循环2次,如果col和row是5或6那么它跑了3次。

>>> math.ceil(1.5)
2.0
>>> i=3
>>> math.ceil(i/2)
1.0

2 个答案:

答案 0 :(得分:3)

这是因为3 / 2在Python 2 it's 1中不是1.5。做from __future__ import division然后它就是你所期望的。

答案 1 :(得分:0)

先试试这个:

i=3/2
print i
j=float(3)/2
print j
print math.ceil(j)

你应该看到

1
1.5
2.0

python处理整数除法的方式是下限。

参考:

http://docs.python.org/2/reference/expressions.html