[Chicago] List revolution - errata
Brian Herman
bherma3 at uic.edu
Sat Sep 10 18:43:03 CEST 2011
Solution fork python call it python-1.
On Sat, Sep 10, 2011 at 11:40 AM, Massimo Di Pierro <mdipierro at cs.depaul.edu
> wrote:
>
> class List(list):
> """
> >>> a=List()
> >>> for i in range(100000): a.append(i)
> >>> print a.first
> 0
> >>> print a.second
> 1
> >>> print a.third
> 2
> >>> print a.twentieth
> 19
> >>> print a.twentysecond
> 21
> >>> print a.onehundredthirtyfifth
> 134
> >>> print a.onethousandfivehundredthirtyeighth
> 1537
> """
> def __getattr__(self,name):
> import re
> if name.endswith('first'): name = name[:-5]+'one'
> elif name.endswith('second'): name = name[:-6]+'two'
> elif name.endswith('third'): name = name[:-5]+'three'
> elif name.endswith('fth'): name = name[:-3]+'ve'
> elif name.endswith('hth'): name = name[:-3]+'th'
> elif name.endswith('ieth'): name = name[:-4]+'y'
> elif name.endswith('th'): name = name[:-2]
> subs = [
> ("eleven","+11"),
> ("twelve","+12"),
> ("thirteen","+13"),
> ("fourteen","+14"),
> ("fiftheen","+15"),
> ("sixteen","+16"),
> ("seventeen","+17"),
> ("eighteen","+18"),
> ("nineteen","+19"),
> ("ten","+10"),
> ("twenty","+20"),
> ("thirty","+30"),
> ("fourty","+40"),
> ("fifthy","+50"),
> ("sixty","+60"),
> ("seventy","+70"),
> ("eighty","+80"),
> ("ninety","+90"),
> ("one","+1"),
> ("two","+2"),
> ("three","+3"),
> ("four","+4"),
> ("five","+5"),
> ("six","+6"),
> ("seven","+7"),
> ("eigth","+8"),
> ("nine","+9"),
> ("ten","+10"),
> ("hundred",")*100+("),
> ("thousand",")*1000+("),
> ("million",")*1000000+("),
> ("billion",")*1000000000+("),
> ("trillion",")*100000000000+("),
> ("and","")]
> for key,value in subs:
> name = name.replace(key,value)
> if '(' in name: name='('+name+')'
> name.replace('()','1')
> if not re.compile('[\d\+\*\(\)]+').match(name): return
> AttributeError
> try: return self[eval(name)-1]
> except: raise AttributeError
>
> _______________________________________________
> Chicago mailing list
> Chicago at python.org
> http://mail.python.org/mailman/listinfo/chicago
>
--
Thanks,
Brian Herman
brianjherman.com
Research Assistant
University Of Illinois at Chicago
brianherman at acm.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/chicago/attachments/20110910/058c8152/attachment.html>
More information about the Chicago
mailing list