def calculate_check_digit(digits):
multiplier = 3
total = 0
for index in range(len(digits) - 1, -1, -1):
digit = int(digits[index])
total = total + (digit * multiplier)
if multiplier == 3:
multiplier = 1
elif multiplier == 1:
multiplier = 3
check_digit = 10 - (total % 10)
return check_digit
def validate(digits_including_check_digit):
multiplier = 1
total = 0
for index in range(len(digits_including_check_digit) - 1, -1, -1):
digit = int(digits_including_check_digit[index])
total = total + (digit * multiplier)
if multiplier == 3:
multiplier = 1
elif multiplier == 1:
multiplier = 3
remainder = total % 10
if remainder == 0:
is_valid = True
else:
is_valid = False
return is_valid
digits = "978095614305"
full = digits + str(calculate_check_digit(digits))
print(full)
is_valid = validate(full)
print (is_valid)
print(validate("9780956143051"))
print(validate("7980956143051"))
print(validate("9780951643051"))
print(validate("9780957143051"))
Be the first to comment
You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.