擅长:python、mysql、java
<p>作为第一步,我将使用条形码内置的验证机制,校验和。由于您的条形码似乎是GTIN条形码(特别是GTIN-13),因此可以使用<a href="https://www.gs1.org/how-calculate-check-digit-manually" rel="nofollow noreferrer">this method</a>:</p>
<pre><code>>>> import math
>>> def CheckBarcode(s):
sum = 0
for i in range(len(s[:-1])):
sum += int(s[i]) * ((i%2)*2+1)
return math.ceil(sum/10)*10-sum == int(s[-1])
>>> CheckBarcode("4902508045506")
True
>>> CheckBarcode("8850851860016")
True
>>> CheckBarcode("1232131321313")
True
>>> CheckBarcode("1122334455667")
False
>>> CheckBarcode("1234567890123")
False
</code></pre>