我需要在Python2中制作一个EAN-13数字有效性检查器。我不知道';我不明白这为什么不';行不通
我真的不明白为什么老师也帮不上忙我需要在Python2中制作一个EAN-13数字有效性检查器。我不知道';我不明白这为什么不';行不通,python,Python,我真的不明白为什么老师也帮不上忙 我需要在Python2中制作一个EAN-13数字有效性检查器。我不明白这为什么不起作用。有人能帮忙吗?我用Python2做了一个EAN 13数字有效性检查。 希望它能帮助你 inp = raw_input("Input a EAN-13 number.") aaa = False bbb = False if len(inp) == 13: bbb = True else: print "Error input" exit ean_number =
我需要在Python2中制作一个EAN-13数字有效性检查器。我不明白这为什么不起作用。有人能帮忙吗?我用Python2做了一个EAN 13数字有效性检查。 希望它能帮助你
inp = raw_input("Input a EAN-13 number.")
aaa = False
bbb = False
if len(inp) == 13:
bbb = True
else:
print "Error input"
exit
ean_number = int(inp)
def ean13(value_1):
mult_of_ten = 0
sum_of_digits = 0
done = False
for z in len(value_1):
if not z == 0:
if z % 2 == 0:
value_1[z] *= 3
elif not z % 2 == 0:
value_1[z] *= 1
for a in len(value_1):
sum_of_digits += value_1[a]
if sum_of_digits % 10 == 0:
result = 0
elif not sum_of_digits % 10 == 0:
while done == False:
mult_of_ten = sum_of_digits
for d in True:
mult_of_ten += d
if sum_of_digits % 10 == 0:
done == True
result = mult_of_ten - sum_of_digits
if result == value_1[12]:
print "True"
if bbb == True:
ean13(ean_number)
你说的“不起作用”到底是什么意思?请澄清。你能先告诉我们什么东西不起作用吗?是否存在运行时错误?它不提供所需的输出吗?看这里:据我所见,凹痕很不清楚。
# ean = '9780201379624'
ean = raw_input("Input a EAN-13 number:\n")
err = 0
even = 0
odd = 0
check_bit = ean[len(ean)-1]#get check bit(last bit)
check_val = ean[:-1]#Get all vals except check bit
if len(ean) != 13:#Check the input length
print "Invalid EAN 13"
else:
for index,num in enumerate(check_val):#Gather Odd and Even Bits
if index%2 == 0:
even += int(num)
else:
odd += int(num)
if ((3*odd)+even+int(check_bit)) % 10 == 0:# Check if the algorithm 3 * odd parity + even parity + check bit matches
print "Valid EAN 13"
else:
print "Invalid EAN 13"