Solution fork python call it python-1.<div><br><br><div class="gmail_quote">On Sat, Sep 10, 2011 at 11:40 AM, Massimo Di Pierro <span dir="ltr"><<a href="mailto:mdipierro@cs.depaul.edu" target="_blank">mdipierro@cs.depaul.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
class List(list):<br>
"""<br>
>>> a=List()<br>
>>> for i in range(100000): a.append(i)<br>
>>> print a.first<br>
0<br>
>>> print a.second<br>
1<br>
>>> print a.third<br>
2<br>
>>> print a.twentieth<br>
19<br>
>>> print a.twentysecond<br>
21<br>
>>> print a.onehundredthirtyfifth<br>
134<br>
>>> print a.onethousandfivehundredthirtyeighth<br>
1537<br>
"""<br>
def __getattr__(self,name):<br>
import re<br>
if name.endswith('first'): name = name[:-5]+'one'<br>
elif name.endswith('second'): name = name[:-6]+'two'<br>
elif name.endswith('third'): name = name[:-5]+'three'<br>
elif name.endswith('fth'): name = name[:-3]+'ve'<br>
elif name.endswith('hth'): name = name[:-3]+'th'<br>
elif name.endswith('ieth'): name = name[:-4]+'y'<br>
elif name.endswith('th'): name = name[:-2]<br>
subs = [<br>
("eleven","+11"),<br>
("twelve","+12"),<br>
("thirteen","+13"),<br>
("fourteen","+14"),<br>
("fiftheen","+15"),<br>
("sixteen","+16"),<br>
("seventeen","+17"),<br>
("eighteen","+18"),<br>
("nineteen","+19"),<br>
("ten","+10"),<br>
("twenty","+20"),<br>
("thirty","+30"),<br>
("fourty","+40"),<br>
("fifthy","+50"),<br>
("sixty","+60"),<br>
("seventy","+70"),<br>
("eighty","+80"),<br>
("ninety","+90"),<br>
("one","+1"),<br>
("two","+2"),<br>
("three","+3"),<br>
("four","+4"),<br>
("five","+5"),<br>
("six","+6"),<br>
("seven","+7"),<br>
("eigth","+8"),<br>
("nine","+9"),<br>
("ten","+10"),<br>
("hundred",")*100+("),<br>
("thousand",")*1000+("),<br>
("million",")*1000000+("),<br>
("billion",")*1000000000+("),<br>
("trillion",")*100000000000+("),<br>
("and","")]<br>
for key,value in subs:<br>
name = name.replace(key,value)<br>
if '(' in name: name='('+name+')'<br>
name.replace('()','1')<br>
if not re.compile('[\d\+\*\(\)]+').match(name): return AttributeError<br>
try: return self[eval(name)-1]<br>
except: raise AttributeError<br>
<br>
_______________________________________________<br>
Chicago mailing list<br>
<a href="mailto:Chicago@python.org" target="_blank">Chicago@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/chicago" target="_blank">http://mail.python.org/mailman/listinfo/chicago</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Thanks,<br>Brian Herman<br><br><a href="http://brianjherman.com" style="color:rgb(153, 153, 153)" target="_blank">brianjherman.com</a><br><font color="#999999">Research Assistant</font><br>
<font color="#999999">University Of Illinois at Chicago</font><br><a href="mailto:brianherman@acm.org" style="color:rgb(153, 153, 153)" target="_blank">brianherman@acm.org</a><br><br>
</div>