> No time to search for the issue, but here are some trials (hole from 10 --> > 19): > for i in range(21): > print "%s\t: %s" %(i,ordinal(i)) > for i in (-1,22,33,99,100,101,199,200,999,1000): > print "%s\t: %s" %(i,ordinal(i)) > ==> > 0 : 0th > 1 : 1st > 2 : 2nd > 3 : 3rd > 4 : 4th > 5 : 5th > 6 : 6th > 7 : 7th > 8 : 8th > 9 : 9th > 10 : None > 11 : None > 12 : None > 13 : None > 14 : None > 15 : None > 16 : None > 17 : None > 18 : None > 19 : None > 20 : 20th > -1 : -1th > 22 : 22nd > 33 : 33rd > 99 : 99th > 100 : 100th > 101 : 101st > 102 : 102nd > 103 : 103rd > 199 : 199th > 200 : 200th > 999 : 999th > 1000 : 1000th >
Okay, this is *really* strange. I performed the exact same tests as above in IPython and I'm getting correct results (though I'm embarrassed to admit I didn't consider negative numbers and doubly embarrassed to admit that I'm not certain whether those should be a mirror image of the positves...). Below are the results I'm getting. Is it at all possible that this could be a bug specific to my Python version, operating system or something similar? I'll admit, this one's a bit over my head... In [4]: for i in range(21): ...: print ordinal(i) ...: ...: 0th 1st 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th In [5]: for i in (-1,22,33,99,100,101,199,200,999,1000): ...: ordinal(i) ...: ...: Out[5]: u'-1th' Out[5]: u'22nd' Out[5]: u'33rd' Out[5]: u'99th' Out[5]: u'100th' Out[5]: u'101st' Out[5]: u'199th' Out[5]: u'200th' Out[5]: u'999th' Out[5]: u'1000th' In [7]: for i in range(21): ...: print "%s\t: %s" %(i,ordinal(i)) ...: 0 : 0th 1 : 1st 2 : 2nd 3 : 3rd 4 : 4th 5 : 5th 6 : 6th 7 : 7th 8 : 8th 9 : 9th 10 : 10th 11 : 11th 12 : 12th 13 : 13th 14 : 14th 15 : 15th 16 : 16th 17 : 17th 18 : 18th 19 : 19th 20 : 20th _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor