CMU Coding Bootcamp
at main 881 B view raw
1def addUpcBarcodeCheckDigit(barcode: str) -> str: 2 """Adds the check digit to a UPC barcode.""" 3 evenChecks = [int(digit) for i, digit in enumerate(barcode) if i % 2 == 0] 4 oddChecks = [int(digit) for i, digit in enumerate(barcode) if i % 2 != 0] 5 evenTotal = sum(int(digit) for digit in evenChecks) * 3 6 oddTotal = sum(int(digit) for digit in oddChecks) 7 checkDigit = 10 - (evenTotal + oddTotal) % 10 8 return barcode + (str(checkDigit) if checkDigit != 10 else "0") 9 10 11print("Testing addUpcBarcodeCheckDigit()...", end="") 12assert addUpcBarcodeCheckDigit("03600029145") == "036000291452" 13assert addUpcBarcodeCheckDigit("11111111111") == "111111111117" 14assert addUpcBarcodeCheckDigit("23232323232") == "232323232329" 15assert addUpcBarcodeCheckDigit("12345678900") == "123456789005" 16assert addUpcBarcodeCheckDigit("00000000000") == "000000000000" 17print("Passed!")