Python fügt eine Leerzeile in der Konsolenausgabe zwischen jedem Aufruf der input()
-Funktion, aber ich möchte das nicht (d. H. Ich möchte die input()
Eingabeaufforderungen auf zusammenhängende Zeilen in der Konsole statt durch eine leere Zeile getrennt). Gibt es eine Möglichkeit, das zu tun? Ich habe versucht, mit input("foo", end="")
dachte, es wie die print()
Funktion arbeiten kann, aber das ist nicht der Fall ...Wie kann ich verhindern, dass Python nach der Benutzereingabe eine neue Zeile einfügt?
Code:
fname = input("Please enter your first name: ")
lname = input("Please enter your last name: ")
print("Pleased to meet you, " + str(fname) + " " + str(lname) + "!")
Ausgang:
Please enter your first name: Jane
Please enter your last name: Doe
Pleased to meet you, Jane Doe!
gewünschte Ausgabe:
Please enter your first name: Jane
Please enter your last name: Doe
Pleased to meet you, Jane Doe!
Bearbeiten:
Wie andere im Abschnitt Kommentare erwähnt haben, ist dieses Problem nicht reproduzierbar, außer für die Verwendung der IPython-Schnittstelle in der Spyder-IDE. Wenn jemand IPython außerhalb von Spyder ausführt, führen Sie bitte den obigen Code aus und lassen Sie mich wissen, ob das die gleiche Ausgabe erzeugt. Ich kann die unerwünschte Ausgabe über die Spyder IPython-Schnittstelle reproduzieren, aber nicht über eine Terminal-Sitzung, so dass dies entweder für IPython oder Spyder spezifisch ist.
Ich bin nicht das Verhalten bekommen Sie beschreiben -. Dein Code funktioniert für mich. –
In der Tat, kann nicht reproduzieren! –
Hast du zweimal Enter gedrückt? –