Ho trovato sul gruppo Python Comunity di Linkedin un ottimo spunto su come realizzare un multi-line input efficace:
import sys
lines = sys.stdin.readlines()
print(lines)
Per interrompere l’inserimento si può andare a capo e premere la sequenza Ctrl+Z dando poi nuovamente INVIO.
Ecco come si presenta l’input multi-linea:
Una alternativa elegante potrebbe essere:
lines = []
while True:
line = input()
if line:
lines.append(line)
else:
break
text = '\n'.join(lines)
Per interrompere l’inserimento basta un doppio INVIO.
Il ciclo viene lanciato da while True:
, che sarebbe un loop infinito.
La condizione di uscita è l’inserimento del carattere '\n'
Il testo finale viene archiviato nella variabile text, di tipo stringa.