2016-06-09 27 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 

要查找最接近的倍数,可以调用这两个函数,并使用与原始数值差异较小的函数。

相关问题