[Tutor] Splitting a number into even- and odd- numbered digits
Carroll, Barry
Barry.Carroll at psc.com
Thu Apr 20 02:17:09 CEST 2006
Greetings:
I am writing a function that accepts a string of decimal digits, calculates a checksum and returns it as a single character string.
The first step in the calculation is to split the input into two strings: the even- and odd- numbered digits, respectively. The least significant digit is defined as odd.
The following code fragment does the job but seems sort of brutish and inelegant to me:
>>>>>>>
>>> s = '987654321'
>>> odd = ''
>>> for c in s[::-2]:
... odd = c + odd
...
>>> s = s[:-1]
>>> even = ''
>>> for c in s[::-2]:
... even = c + even
...
>>> odd
'97531'
>>> even
'8642'
>>>>>>>
Is there a better (i.e. more Pythonic) way to do this?
Thanks in advance for all your help.
Regards,
Barry
barry.carroll at psc.com
541-302-1107
________________________
We who cut mere stones must always be envisioning cathedrals.
-Quarry worker's creed
More information about the Tutor
mailing list