[Tutor] ashamed

Alan Gauld alan.gauld at btinternet.com
Tue Nov 28 01:12:30 CET 2006


"Moedeloos Overste" <kloosterjunkie at hotmail.com> wrote

> d={1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0, 10:0, 11:0, 12:0, 
> 13:0,
> 14:0, 15:0,
>    16:0, 17:0, 18:0, 19:0, 20:0, 21:0, 22:0, 23:0, 24:0, 25:0, 26:0, 
> 27:0,
> 28:0,
>    29:0, 30:0, 31:0, 32:0, 33:0, 34:0, 35:0, 36:0, 37:0, 38:0, 39:0, 
> 40:0,
> 41:0, 42:0,
>    43:0, 44:0, 45:0}

You probably don't need to initialise all the values, just test to
see if its already set (either by catching any KeyError exceptions)
or use get() method to return zero as a default as you go (see
my code below).

> done=0
> fd = open("draw__output.txt",'r')
> while not done:
>    line = fd.readline()
>    if line == '':
>        done = 1

You can replace all of that with a Python for loop:

for line in open("draw_output.txt"):

>       for i in line:
>          d[i] = d.get(i,0)+ 1

HTH,

-- 
Alan Gauld
Author of the Learn to Program web site
http://www.freenetpages.co.uk/hp/alan.gauld 




More information about the Tutor mailing list