python adds an extra half space when reading froma string or list -- back to the question

Joel Goldstick joel.goldstick at gmail.com
Mon Jul 1 15:32:12 EDT 2013


I copied the original question so that the rant on the other thread
can continue.  Let's keep this thread ontopic


number_drawn=()
def load(lot_number,number_drawn):
    first=input("enter first lot: ")
    last=input("enter last lot: ")
    for lot_number in range(first,last):
        line_out=str(lot_number)
        for count in range(1,5):
            number_drawn=raw_input("number: ")
            line_out=line_out+(number_drawn)
        print line_out
        finale_line.append(line_out)
finale_line2=finale_line

load(lot_number,number_drawn)


print finale_line
print(" "*4),
for n in range(1,41):
    print n,          #this is to produce a line of numbers to compare to
output#
for a in finale_line:
    print"\n",
    print a[0]," ",
    space_count=1
    for b in range(1,5):
        if int(a[b])<10:
             print(" "*(int(a[b])-space_count)),int(a[b]),
             space_count=int(a[b])
        else:
            print(" "*(a[b]-space_count)),a[b],
            space_count=a[b]+1







number_drawn=()
def load(lot_number,number_drawn):
    first=input("enter first lot: ")
    last=input("enter last lot: ")
    for lot_number in range(first,last):
        line_out=str(lot_number)
        for count in range(1,5):
            number_drawn=raw_input("number: ")
            line_out=line_out+(number_drawn)
        print line_out
        finale_line.append(line_out)
finale_line2=finale_line

load(lot_number,number_drawn)


print finale_line
print(" "*4),
for n in range(1,41):
    print n,          #this is to produce a line of numbers to compare to
output#
for a in finale_line:
    print"\n",
    print a[0]," ",
    space_count=1
    for b in range(1,5):
        if int(a[b])<10:
             print(" "*(int(a[b])-space_count)),int(a[b]),
             space_count=int(a[b])
        else:
            print(" "*(a[b]-space_count)),a[b],
            space_count=a[b]+1








            this generates
<type 'list'>
enter first lot: 1
enter last lot: 4
number: 2
number: 3
number: 4
number: 5
12345
number: 1
number: 2
number: 3
number: 4
21234
number: 3
number: 4
number: 5
number: 6
33456
['12345', '21234', '33456']
     1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
27 28 29 30 31 32 33 34 35 36 37 38 39 40
1     2   3   4   5
2    1   2   3   4
3      3   4   5   6
>#as you can see many numbers are between the lines of a normal print#
#I thought this was due to "white space" int he format .So I tried  a list
of strings and got the same results.#



-- 
Joel Goldstick
http://joelgoldstick.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20130701/1d04675a/attachment.html>


More information about the Python-list mailing list