justifying text...and also...correct use of classes...

Ross La Haye rlahaye at new.rr.com
Thu Dec 30 03:39:37 CET 2004


Few questions.  I have a module "combin" which contains "Combin" and "Prob"
classes.  This is the "Prob" class:

class Prob:
    def binprob(self,n,k,p):
        fewerthan = sum([Combin().kcomb(n,i)*((p**i)*(1-p)**(n-i)) for i in
range(k)])
        exact = Combin().kcomb(n,k)*((p**k)*(1-p)**(n-k))
        notexact = 1 - exact
        atleast = 1 - fewerthan
        atmost = fewerthan + exact
        morethan = 1 - atmost

        T0 = (('Fewer Than:', fewerthan),
                ('At Least:',      atleast),
                ('Exactly:',       exact),
                ('Not Exactly:', notexact),
                ('At Most:',      atmost),
                ('More Than:',   morethan))

        for t in T0:
            print t[0].rjust(12),'\t',t[1]

Is the way I've used the "Combin" class considered correct/appropriate in
the "binprob" method?  If not, what is the standard usage?  

Also, I'm trying to get my results to print close to this(.i.e., I would
like the first column to be right justified and the second column to be
exactly as it is):

Fewer Than: 	0.376953125
    At Least: 	0.623046875
     Exactly: 	0.24609375
Not Exactly: 	0.75390625
     At Most: 	0.623046875
  More Than: 	0.376953125

but it comes out like this:

Fewer Than: 	0.376953125
   At Least: 	0.623046875
    Exactly: 	0.24609375
Not Exactly: 	0.75390625
    At Most: 	0.623046875
  More Than: 	0.376953125

I feel like I'm missing something obvious here and apologize in advance if I
am, but I just can't figure it out.  Any help would be appreciated.  BTW,
I'm not using a dictionary because I want the results to print exactly in
the order specified and that seemed the simplest way.  Also, I used
rjust(12) because len("Not Exactly:") = 12 etc.
     
hawk


-------------- next part --------------
A non-text attachment was scrubbed...
Name: winmail.dat
Type: application/ms-tnef
Size: 2356 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/python-list/attachments/20041229/bd6bbd8a/attachment.bin>


More information about the Python-list mailing list