Verification of bank number using modulus 11

Ian Kelly ian.g.kelly at gmail.com
Tue Feb 19 18:21:35 EST 2013


On Tue, Feb 19, 2013 at 3:59 PM, Morten Engvoldsen <mortenengv at gmail.com> wrote:
> But can you tell me how could i implement below
>
> "If digits 5 and 6 of the account number are zeros, the check digit is
> calculated on the 7, 8, 9 and 10th digit of the account number."
>
> which means if account number is "8601.00.17947" then check digit is
> calculate as
>
>  result = (1*5) + (7*4)+ (9*3)+(4*2)
>
> remainder = result % 11
>
> check_digit = 11 - remainder
>
> Can you tell me how can i implement this ?

After this code:

isbn = isbn[:-1]
if len(isbn) != 10:
  return False

Add:

if isbn[4:6] == "00":
    isbn = isbn[6:]

And that should do it.  Thanks to the symmetry of the weights
sequence, you don't even need to change that part at all.  The zip
function will automatically truncate to the length of the shorter
input sequence.



More information about the Python-list mailing list