我一直在设计验证GTIN-8代码的代码。我已经看过如何找到一个10的相等或更高的倍数,我迄今没有成功,希望你们能帮助我!等号或更高的倍数,Python
这里是一个小的代码,我需要找到的10
NewNumber = (NewGtin_1 + Gtin_2 + NewGtin_3 + Gtin_4 + NewGtin_5 + Gtin_6 + NewGtin_7)
print (NewNumber)
我一直在设计验证GTIN-8代码的代码。我已经看过如何找到一个10的相等或更高的倍数,我迄今没有成功,希望你们能帮助我!等号或更高的倍数,Python
这里是一个小的代码,我需要找到的10
NewNumber = (NewGtin_1 + Gtin_2 + NewGtin_3 + Gtin_4 + NewGtin_5 + Gtin_6 + NewGtin_7)
print (NewNumber)
如果你的意思是找到10的最小倍数是大于或等于你的电话号码,试图
def round_up_by_10s(num):
return -((-num) // 10) * 10
,对于正数和负数的作品,整数或浮点数,在Python 2.x或Python 3.x.它也避免了if语句,可以写成一行。对于浮点数,它返回一个浮点数:如果您希望返回值始终为整数,则将返回值包围在int(...)
之间。
如果你的意思发现是你的号码和10的倍数的最小数量,尽量的10
def lcm10(num):
return (10 // gcd(num, 10)) * num
谢谢,这有帮助。我的意思是10的最小倍数大于或等于数字。 –
一般来说,等于或高于多个来讲你可以找到与modulo操作的倍数:
if number % 10 == 0:
do something
这有点帮助了我,但是我需要找到号码然后做点事情,if语句不是必需的 –
@NScott但是如果你不检查它是否是10的倍数,你打算如何找到那个号码?另外,如果我帮助你,考虑提高我的解决方案。 –
我我猜你是什么10的最小倍数高于或等于NewNumber。如果是这样的话,做的事:
last_digit = NewNumber % 10
bigger = NewNumber - last_digit
if last_digit != 0:
bigger += 10
而且,你不应该使用大写字母开始的变量名,这些通常只用于类。
尝试使用这样的:
# 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
相等或更高倍数相对于什么号码? –
您显示的代码无助于理解您的问题。 – polku