我遇到了设计验证GTIN-8代码的代码的挑战。我已经看过如何找到10的相等或更高的倍数,到目前为止我没有成功,希望你们能帮助我!
这是一小段代码,我需要找到等于或高于10的倍数。
do{
try FIRAuth.auth()?.signOut()
self.performSegueWithIdentifier("logoutSegue", sender: self)
}catch{
print("Error while signing out!")
}
答案 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