views:

56

answers:

2

The title describes the question pretty much.

+1  A: 

If you use raw_input it does not insert a new line automatically.

>>> name = raw_input ("What...is your name? ") 
What...is your name? Arthur, King of the Britons!

Jacob

TheJacobTaylor
Python 3.x, not 2.x!
Waterfox
Ahh, I read the title, the body, then went ahead with very little information. I did not read the tags in detail.
TheJacobTaylor
for any newbie reading along, that means raw_input gone in 3.0, and input in 3.0 no longer has the horrific surprise that it doesn't do exactly what most of the uninitiated people thought it did.
Warren P
+2  A: 

The input function, which does the query, does not emit a newline:

>>> input('tell me: ')
tell me: what?
'what?'
>>> 

as you see, the prompt is output without any newline, and what the user types after that appears on the same line as the prompt. Of course, the user is also typing a newline, and (like everything else the user types), that newline is echoed (so further results are on following lines). Is that your problem?

If so, then you need to switch to platform-specific approaches, such as curses on just about any machine except Windows, and msvcrt on Windows (or, you could look for a curses port on Windows, but I don't know if there's one for Python 3). The two modules are very different, and you haven't clarified your platform (or your exact needs -- my previous paragraph is an attempt at an educated guess;-), so I'll just wait for you to clarify needs and platforms rather than launching into long essays that may not prove helpful.

Alex Martelli