Python inserts a blank line in the console output between every call of the input()
function but I don't want that (i.e. I want the input()
prompts to be on contiguous lines in the console instead of separated by a blank line). Is there a way to do that? I tried using input("foo", end="")
thinking it may work like the print()
function but that's not the case...
Code:
fname = input("Please enter your first name: ")
lname = input("Please enter your last name: ")
print("Pleased to meet you, " + str(fname) + " " + str(lname) + "!")
Output:
Please enter your first name: Jane
Please enter your last name: Doe
Pleased to meet you, Jane Doe!
Desired output:
Please enter your first name: Jane
Please enter your last name: Doe
Pleased to meet you, Jane Doe!
Edit:
As others have pointed out in the comments section, this issue is non-reproducible, even for me, except through the use of the IPython interface within the Spyder IDE. If anyone is running IPython outside of Spyder, please run the above code and let me know whether that produces the same output. I can reproduce the undesired output through Spyder's IPython interface but not through a Terminal session so this is something specific to either IPython or Spyder.
No extra empty lines in Window Vista console.
Extra empty lines are inserted in Spyder when "execute in current console" is choosen.
These extra lines are NOT inserted if program is executed in "dedicated console". (Python 3.6, Spyder 3.2.3, IPython 5.3.0)
Spyder -> Run -> Configuration per file... -> Execute in dedicated console
(2017/10/16, 32-bit Anaconda on MS Windows Vista 32 bit.)
(Spyder developer here) This looks like a minor bug in our IPython console. Please report it here:
https://github.com/jupyter/qtconsole
Note: This console is not simply embedding a terminal IPython session in Spyder (that's why making comparisons to it make no sense at all).
Instead, it is a re-implementation of most of the terminal behavior but using a graphical toolkit (called Qt) and the Jupyter kernel/frontend architecture.
Perhaps not exactly what you're after, but it should solve your problem.
Delete previous line in console with:
See remote last STDOUT.
If it doesn't work try
instead of