Restricting the alphabet of a string
ptmcg at austin.rr.com
Mon Apr 30 16:40:35 CEST 2007
On Apr 30, 9:00 am, 7stud <bbxx789_0... at yahoo.com> wrote:
> On Apr 30, 5:53 am, "Nathan Harmston" <ratchetg... at googlemail.com>
> > Hi,
> > I ve being thinking about playing around with bit strings but use in
> > some encoding problems I m considering and was trying to decide how to
> > implement a bit string class. Is there a library out there for doing
> > basic things with bit strings already is my first question?
> > I know that I can extend string to bit string, but is there anyway I
> > can force the alphabet to be restricted to 1's and 0's (or even 1, 0
> > and -1, as an extension to from trinary strings).
> > class Binary_String(String):
> > pass
> > Many Thanks
> > Nathan
> You could do something like this:
> class Binary_String(str):
> def __init__(self, val):
> i = 0
> for char in val:
> if char not in "-101":
> raise ValueError("illegal character at index " +
> str(i) + "\nOnly -1,0,1 allowed.")
> self.val = val
> b = Binary_String("1a0101")
> Traceback (most recent call last):
> File "test1.py", line 13, in ?
> b = Binary_String("1a100")
> File "test1.py", line 6, in __init__
> raise ValueError("illegal character at index " + str(i)
> ValueError: illegal character at index 1
> Only -1,0,1 allowed.- Hide quoted text -
> - Show quoted text -
Your character test only needs to check if the character is in "-10",
not "-101". In fact, this is a little misleading, since it appears to
check for "-1" but is really only checking for "-"s and "1"s (and "0"s
too, of course).
This code accepts "1-0101" also, but what is -0?
More information about the Python-list