我如何计算出一个数字python的倍数

时间:2016-06-09 08:29:10

标签: python numbers

好吧,我正在计算机课程中学习python,并且我一直在设计验证GTIN-8代码的代码,我遇到了一个无法跳过的障碍。我已经看过如何找到10的相等或更高的倍数,到目前为止我没有成功,希望你们能帮助我!

这是一小段代码,我需要找到等于或高于10的倍数;

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

1 个答案:

答案 0 :(得分: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

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