Как прочитать несколько строк необработанного ввода?
Я хочу создать программу на Python, которая принимает несколько строк пользовательского ввода. Например:
This is a multilined input.It has multiple sentences.Each sentence is on a newline.
Как я могу принять несколько строк необработанного ввода?
Переведено автоматически
Ответ 1
sentinel = '' # ends when this string is seenfor line in iter(input, sentinel): pass # do things here
Чтобы получить каждую строку в виде строки, вы можете сделать:
'\n'.join(iter(input, sentinel))
Python 2:
'\n'.join(iter(raw_input, sentinel))
Ответ 2
В качестве альтернативы вы можете попробовать, sys.stdin.read() который возвращает весь ввод до EOF:
sys.stdin.read()
EOF
import syss = sys.stdin.read()print(s)
Ответ 3
Продолжайте читать строки, пока пользователь не введет пустую строку (или не изменит stopword на что-то другое)
stopword
text = ""stopword = ""while True: line = raw_input() if line.strip() == stopword: break text += "%s\n" % lineprint text
Ответ 4
Попробуйте это
import syslines = sys.stdin.read().splitlines()print(lines)
ВВОД:
1
2
3
4
ВЫВОД: ['1', '2', '3', '4']