with usar tutorial the tablas para leer funciones español datos como applications python input multiline

python - usar - the django project



Cómo obtener una entrada multilínea del usuario (5)

Esta pregunta ya tiene una respuesta aquí:

Quiero escribir un programa que obtenga múltiples entradas de línea y trabajar con él línea por línea. ¿Por qué no hay una función como raw_input en Python 3?

input no permite al usuario poner líneas separadas por nueva línea ( Enter ), solo imprime la primera línea.

¿Se puede almacenar en variable o incluso leerlo en una lista?


En Python 3.x, raw_input() de Python 2.x ha sido reemplazado por input() función input() . Sin embargo, en ambos casos no puede ingresar cadenas de líneas múltiples, para ese propósito necesitaría obtener entradas del usuario línea por línea y luego .join() usarlas /n , o también puede tomar varias líneas y concatenarlas usando + operador separado por /n

Para obtener una entrada de varias líneas del usuario, puede ir como:

no_of_lines = 5 lines = "" for i in xrange(5): lines+=input()+"/n" print lines

O

lines = [] while True: line = input() if line: lines.append(line) else: break text = ''/n''.join(lines)


Use la función incorporada input() para obtener una línea de entrada del usuario.

Puedes leer la ayuda aquí .

Puede usar el siguiente código para obtener varias líneas a la vez (terminando en una vacía):

while input() != '''': do_thing


input(prompt) es básicamente equivalente a

def input(prompt): print(prompt, end='''', file=sys.stderr) return sys.stdin.readline()

Puede leer directamente desde sys.stdin si lo desea.

lines = sys.stdin.readlines() lines = [line for line in sys.stdin] five_lines = list(itertools.islice(sys.stdin, 5))

Los dos primeros requieren que la entrada finalice de alguna manera, ya sea al llegar al final de un archivo o por el usuario escribiendo Control-D (o Control-Z en Windows) para señalar el final. El último volverá después de haber leído cinco líneas, ya sea desde un archivo o desde el terminal / teclado.


raw_input puede manejar correctamente el EOF, por lo que podemos escribir un bucle, leer hasta que hayamos recibido un EOF (Ctrl-D) del usuario:

Python 3

print("Enter/Paste your content. Ctrl-D or Ctrl-Z ( windows ) to save it.") contents = [] while True: try: line = input() except EOFError: break contents.append(line)

Python 2

print "Enter/Paste your content. Ctrl-D or Ctrl-Z ( windows ) to save it." contents = [] while True: try: line = raw_input("") except EOFError: break contents.append(line)


no_of_lines = 5 lines = "" for i in xrange(5): lines+=input()+"/n" a=raw_input("if u want to continue (Y/n)") "" if(a==''y''): continue else: break print lines