2017-09-16 84 views
-2

我需要一个它不会给我的浮点数的小数点!下面是代码的一部分:math.ceil返回浮点数(1.5)

ne = j + e 
    nk = ne/6 
    int(math.ceil (nk)) 
    p2 = nk * 11 
    if p2 < p1: 
     p1 = p2 
    print (p2) 

J,E和P1已经具有值(在这种情况下4,图5和22),是的,我输入数学。

我看不到问题,并且我有一些类似的代码行。在这里它的工作原理:

p2 = ne/6 
    int(math.ceil(p2)) 
    p2 = p2 * 11 
    p2 = p2 + (nk * 3.5) 
    nk = nj * 11 
    p2 = p2 + nj 
    nj = j - nn 
    p2 = p2 + (nj*2.5) 
    print (p2) 

NE在这种情况下是6

+2

'int(math.ceil(nk))'不能就地工作,所以'nk'之后不变。也许你想'nk = int(math.ceil(nk))'? – roganjosh

回答

0

ceil不会改变你传递的值(它不能 - float值是不可变的);相反,它返回阐述的价值 - 你丢弃,因为你不分配给任何东西。你要像

nk = int(math.ceil (nk)) 

和我的代码工作的几个类似的路线。

检查更好;那不可能工作。

+0

是的,非常感谢! – Banana

+0

我需要在做东西之前开始思考 – Banana