On Mon, Feb 9, 2009 at 3:35 PM, Kayvan Sarikhani <ksarikh...@gmail.com>wrote:

> Hello Tutors,
> <snip>  I thought that maybe adding "print random.choice(pool).strip()"
> might work but not having any luck with that. Is the output this way, simply
> because of the nature of the range, or can anyone point my in the right
> direction? Thanks in advance!
>

It's actually not the range but the print function. Print automatically
prints a newline. If you were to create a string of what print does:

print 'foo'

'foo\n'

However, adding a trailing comma will eliminate that. It will still add a
trailing space however. A better option would be like Marc suggests,
although you have to do concatenation:

mystr += random.choice(pool)

You do have some other options though. Create a list and join it with '':

In [148]: x = ['a','b','c']

In [149]: ''.join(x)
Out[149]: 'abc'

Create a list, convert it to tuple, and use string formatting:

In [151]: '%s%s%s' % t
Out[151]: 'abc'

Use sys.stdout.write instead:

In [154]: for y in x:
   .....:     sys.stdout.write(y)
   .....:
   .....:
abc

and a host of other options. The simplest is probably the concatenation
though ;)
HTH,
Wayne
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to