Number validation issue

Morten Engvoldsen mortenengv at gmail.com
Fri Feb 22 13:27:16 EST 2013


Hi,
Just to make it more clear: I am looking for how to generate the weight in :
1, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7..  format for any
length of number instead of

weights = [5, 4, 3, 2, 7, 6, 5, 4, 3, 2, 1]

only for fixed digit.

My below code can check only for 9 digit, so if we provide a number of more
than 9 digit, it is not able to check that number. Hope, this makes clear
what i am looking for...


On Fri, Feb 22, 2013 at 6:27 PM, Morten Engvoldsen <mortenengv at gmail.com>wrote:

> Hi,
> My below code is wrong :
>
>
> elif mod == 11:
> >>         if not len(checknum)!= 11:
> >>             return False
> >>         weights = [5, 4, 3, 2, 7, 6, 5, 4, 3, 2, 1]
> >>         return (sum(w * int(x) for w, x in zip(weights, checknum)) %
> 11) ==0
>
> it works for 9 digit number , not 11 digit number, so i have changed the
> code and sending again with correct code with valid number:
>
> def is_valid_number(checknum):
>     weights = [3, 2, 7, 6, 5, 4, 3, 2, 1]
>
>     return (sum(w * int(x) for w, x in zip(weights, checknum)) % 11) == 0
>
> is_valid_number("123456785")
>
> This code validate this 9 digit number "123456785" with below algorithm:
>
>
> To verify the number use the following weights from right to left:
> 1, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7...
> Multiply each digit by its corresponding weight. Add the results together.
> For the number to be correct the
> total must be divisible by 11.
> Field with control digit 1 2 3 4 5 6 7 8 5
> Weight 3 2 7 6 5 4 3 2 1
> Produce +3 +4 +21 +24 +25 +24 +21 +16 +5 =143
> The sum must be divisible by 11 (143 divided by 11 leaves a remainder of
> 0).
>
> So i am looking for solution how i can change this code to validate with
> weight 1, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7... from
> right to left for any length of number. This code validate only 9 digit
> number.
>
> Sorry for inconvience :(
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20130222/aafd0e3f/attachment.html>


More information about the Python-list mailing list