Zeilenumbrüche in Benutzereingaben mithilfe von Eingabefunktionen unterdrücken
Während Druckanweisungen durch Anhängen eines Kommas daran gehindert werden können, neue Zeilen hinzuzufügen, ist dies mit einer ähnlichen Technik möglich nicht sofort verfügbar für Eingabefunktionen wie raw_input (Python 2.x) oder input (Python 3.x).
Um den Zeilenumbruch nach einer Benutzereingabe zu unterdrücken, kann man die Tatsache nutzen, dass raw_input oder input intrinsisch eine neue Zeile druckt Zeile, bevor Sie eine Eingabe anfordern. Es ist jedoch nicht möglich, das Einfügen dieser anfänglichen neuen Zeile zu verhindern.
Überwindung der Einfügebeschränkung für neue Zeilen
Obwohl es unmöglich ist, die neue Zeile direkt zu unterdrücken, gibt es eine Problemumgehung um nach Erhalt einer Eingabe nahtlos zur vorherigen Zeile zurückzukehren. Bei dieser Technik wird der folgende Code verwendet:
<code class="python">print('3[{}C3[1A'.format(len(x) + y), end='')</code>
wobei:
Erklärung
Die Zeichenfolge „33[4C“ bewegt den Cursor um vier Indizes nach rechts und überschreibt so effektiv die Eingabeaufforderung mit Leerzeichencharakter. In ähnlicher Weise bewegt die Zeichenfolge „33[1A“ den Cursor um eine Zeile nach oben und richtet die Benutzereingabe direkt nach der Eingabeaufforderung aus.
Anwendungsfall
Das folgende Codefragment zeigt dies die praktische Anwendung dieser Technik:
<code class="python">print('Hello, ', end='') name = input() print(', how do you do?')</code>
Ergebnis
Hello, Tomas, how do you do?
Das obige ist der detaillierte Inhalt vonWie unterdrücke ich Zeilenumbrüche in Benutzereingaben mit der Python-Funktion „input()'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!