Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #49592 > unrolled thread

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

Started byDave Angel <davea@davea.name>
First post2013-07-01 16:02 -0400
Last post2013-07-01 21:11 -0400
Articles 3 — 2 participants

Back to article view | Back to comp.lang.python

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: python adds an extra half space when reading froma string or list -- back to the question Dave Angel <davea@davea.name> - 2013-07-01 16:02 -0400
    Re: python adds an extra half space when reading froma string or list -- back to the question rusi <rustompmody@gmail.com> - 2013-07-01 14:16 -0700
      Re: python adds an extra half space when reading froma string or list -- back to the question Dave Angel <davea@davea.name> - 2013-07-01 21:11 -0400

#49592 — Re: python adds an extra half space when reading froma string or list -- back to the question

FromDave Angel <davea@davea.name>
Date2013-07-01 16:02 -0400
SubjectRe: python adds an extra half space when reading froma string or list -- back to the question
Message-ID<mailman.4084.1372708982.3114.python-list@python.org>
On 07/01/2013 03:32 PM, Joel Goldstick wrote:
> 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
>
>
>
>
>
>
>
>
>

       <Duplicate code removed>

>
>
>
>              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.#
>

But what was the expected output?  And who cares?  The code made no 
sense, was incomplete, and the posted question was nonsensical.

If the OP has abandoned it, so should we.

-- 
DaveA

[toc] | [next] | [standalone]


#49593

Fromrusi <rustompmody@gmail.com>
Date2013-07-01 14:16 -0700
Message-ID<cf9d580b-0f31-44cc-9c68-c5d9d7c7381d@googlegroups.com>
In reply to#49592
On Tuesday, July 2, 2013 1:32:44 AM UTC+5:30, Dave Angel wrote:
> But what was the expected output?  And who cares?  The code made no 
> sense, was incomplete, and the posted question was nonsensical.

Yes in this specific instance all this is probably true.
I believe however, that Joel's intent in reposting this is more global (and important) in its scope, viz:

If this list persists in the current unhealthy state which it is experiencing, authentic noob questions will get buried in mountains of bullshit.

Note: I find Joshua's answer fine given the question.

> If the OP has abandoned it, so should we.

If you were a noob-OP who asked that question and the result unfolded as it has, what would you do?

[toc] | [prev] | [next] | [standalone]


#49601

FromDave Angel <davea@davea.name>
Date2013-07-01 21:11 -0400
Message-ID<mailman.4086.1372727513.3114.python-list@python.org>
In reply to#49593
On 07/01/2013 05:16 PM, rusi wrote:
> On Tuesday, July 2, 2013 1:32:44 AM UTC+5:30, Dave Angel wrote:
>>    <SNIP>

>
> Yes in this specific instance all this is probably true.
> I believe however, that Joel's intent in reposting this is more global (and important) in its scope, viz:
>
> If this list persists in the current unhealthy state which it is experiencing, authentic noob questions will get buried in mountains of bullshit.
>
> Note: I find Joshua's answer fine given the question.
>
>> If the OP has abandoned it, so should we.
>
> If you were a noob-OP who asked that question and the result unfolded as it has, what would you do?
>

Point well-taken.  So I'll see what I can do here.  I'll put comments on 
lines I had to add or change.


finale_line = []    #missing initialization
lot_number = 99

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     #not referenced

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:
             pass
             #print(" "*(a[b]-space_count)),a[b],   #dead code
             #space_count=a[b]+1                    #dead code

Since all the numbers are butted together in the string  line_out, the 
later logic is iterating over digits, which cannot be bigger than 9.  So 
the else clause is nonsensical.  Even if they were to run, they'd give 
runtime errors.

 > #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.#

No clue what that means.  What numbers are between what lines?  And what 
is a normal print?

Presumably the intent was to somehow do a variable spacing of those digits.


-- 
DaveA

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web