2017-09-16 189 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