Ich möchte ein Programm schreiben, das mehrere Zeilen erhält und Zeile für Zeile damit arbeitet. Warum gibt es in Python 3 keine Funktion wie raw_input
?
input
erlaubt dem Benutzer nicht, Zeilen durch Zeilenumbrüche zu trennen ( Enter ), es druckt nur die erste Zeile zurück.
Kann es in einer Variablen gespeichert oder sogar in eine Liste eingelesen werden?
In Python 3.x wurde die raw_input()
von Python 2.x durch input()
function ersetzt. In beiden Fällen können Sie jedoch keine mehrzeiligen Strings eingeben. Zu diesem Zweck müssten Sie vom Benutzer Zeile für Zeile Eingaben machen und dann .join()
sie mit \n
, oder Sie können auch verschiedene Zeilen verwenden und sie verketten +
-Operator getrennt durch \n
Um mehrzeilige Eingaben vom Benutzer zu erhalten, können Sie wie folgt vorgehen:
%Vor%Oder
%Vor% input(prompt)
entspricht im Prinzip
Sie können direkt von sys.stdin
lesen, wenn Sie möchten.
Die ersten beiden erfordern, dass die Eingabe irgendwie beendet wird, entweder durch Erreichen des Dateiendes oder durch Eingabe von Control-D (oder Control-Z in Windows), um das Ende zu signalisieren. Der letzte wird nach dem Lesen von fünf Zeilen zurückkommen, entweder von einer Datei oder vom Terminal / der Tastatur.
Verwenden Sie die integrierte Funktion input()
, um eine Eingabezeile vom Benutzer abzurufen.
Sie können die Hilfe hier lesen.
Sie können den folgenden Code verwenden, um mehrere Zeilen gleichzeitig zu erhalten (mit einem leeren):
%Vor%