2016-06-09 28 views
-3

好的,我正在學習python在我的計算課程中,並且我一直在設計一個驗證GTIN-8代碼的代碼的挑戰,我已經到了一個障礙,我可以不跳。我已經看過如何找到一個10的平等或更高的倍數,我迄今沒有成功,希望你們能幫助我!我怎麼弄出一個數字的倍數python

這是一小段代碼,我需要找到等於或高於10的倍數;

NewNumber = (NewGtin_1 + Gtin_2 + NewGtin_3 + Gtin_4 + NewGtin_5 + Gtin_6 + NewGtin_7) 
print (NewNumber) 
+2

10 * 2 = 20.什麼是問題?我想我沒有得到這個問題。如果你可以用例子來解釋一點,那將會很棒。 –

+0

是的,這很不清楚:10的最接近的倍數是10本身,而下一個更高的倍數是它的兩倍。 – Emilien

+0

@MoinuddinQuadri在我的代碼中,我必須找到等於或高於10的倍數,這裏是我的代碼的一小部分,我需要找到最接近的較高或等於10的NewNumber的倍數 'NewNumber =(NewGtin_1 + Gtin_2 + NewGtin_3 + Gtin_4 + NewGtin_5 + Gtin_6 + NewGtin_7) print(NewNumber)' –

回答

2

最簡單的方法,不涉及功能和模塊,可使用樓層除法運算符//。用法

def neareast_higher_multiple_10(number): 
    return ((number // 10) + 1) * 10 

例子:

>>> neareast_higher_multiple_10(15) 
20 
>>> neareast_higher_multiple_10(21) 
30 
>>> neareast_higher_multiple_10(20.1) 
30.0 
>>> neareast_higher_multiple_10(20) 
30 

我們也可以做一個通用版本:

def neareast_higher_multiple(number, mult_of): 
    return ((number // mult_of) + 1) * mult_of 

如果需要最接近的較低倍數,只是刪除+ 1

def neareast_lower_multiple(number, mult_of): 
    return (number // mult_of) * mult_of 

要查找最接近的倍數,可以調用這兩個函數,並使用與原始數值差異較小的函數。

相關問題