Python的数字的等于或更高倍数

时间:2016-06-21 11:49:56

标签: python numbers

我遇到了设计验证GTIN-8代码的代码的挑战。我已经看过如何找到10的相等或更高的倍数,到目前为止我没有成功,希望你们能帮助我!

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

do{
    try FIRAuth.auth()?.signOut()
    self.performSegueWithIdentifier("logoutSegue", sender: self)
}catch{
    print("Error while signing out!")
}

4 个答案:

答案 0 :(得分:1)

如果您的意思是找到大于或等于您的数字的10的最小倍数,请尝试

def round_up_by_10s(num):
    return -((-num) // 10) * 10

适用于Python 2.x或Python 3.x中的正数和负数,整数或浮点数。它也避免了if语句,可以写成一行代码。对于浮点数,它返回一个浮点数:如果希望返回的值始终为整数,则使用int(...)包围返回值。

如果您的意思是找到最小数字是您的数字和10的倍数,请尝试

def lcm10(num):
    return (10 // gcd(num, 10)) *  num

答案 1 :(得分:0)

一般来说,您可以使用modulo操作找到倍数:

if number % 10 == 0:
  do something

答案 2 :(得分:0)

我猜你10的最小倍数是高于还是等于NewNumber。如果是这样的话,请执行:

last_digit = NewNumber % 10
bigger = NewNumber - last_digit
if last_digit != 0:
   bigger += 10

此外,您不应该使用大写字母来启动变量名称,这些名称通常只用于类。

答案 3 :(得分:0)

尝试使用:

# method 1 for integers
n = NewNumber / 10 * 10
if n < NewNumber: n += 10
# method 2 for floats, decimals
import math
n = math.ceil(NewNumber / 10) * 10