Как считывать несколько строк и склеить их в одну или к примеру положить каждую строку в массив?
Если вы хотите записывать данные полученные через input(), то вам нужно оговорить что считать окончанием ввода, т.к. без ввода данных input() не вернет управление коду.
Например вы можете оговорить что ввод пустой строки означает окончание ввода. Тогда можно сделать так
Т.е. проверять введенное на пустоту и если ничего не ввели — выход из цикла.
Как мне прочитать несколько строк необработанного ввода в Python?
Я хочу создать программу Python, которая принимает несколько строк ввода пользователя. Например:
Как я могу взять несколько строк исходного ввода?
7 ответов
Чтобы получить каждую строку в виде строки, которую вы можете сделать:
Продолжайте читать строки, пока пользователь не войдет в пустую строку (или измените stopword на что-то еще)
Кроме того, вы можете попробовать sys.stdin.read()
ВХОД:
ВЫХОД: [‘1’, ‘2’, ‘3’, ‘4’]
Просто расширив этот ответ https://stackoverflow.com/questions/11664443/how-do-i-read-multiple-lines-of-raw-input-in-python вместо любого стоп-слова, вы можете просто проверить, есть ли строка или нет
Вы получите строки в списке, а затем присоединитесь к \n, чтобы перейти в ваш формат.
* Я долго боролся с этим вопросом, потому что хотел найти способ прочитать несколько строк пользовательского ввода без необходимости прерывать его с помощью Control D (или стоп-слова). В конце концов я нашел способ в Python3, используя модуль pyperclip (который вы должны будете установить с помощью установки pip). Ниже приведен пример, который принимает список IP-адресов *
Для меня это именно то, что я искал; взять несколько строк ввода, выполнить необходимые действия (здесь простая печать), а затем разорвать цикл, когда была обработана последняя строка. Надеюсь, это может быть одинаково полезно и для вас.
Input Multiple Lines in Python

The program sometimes may require an input that is vastly longer than the default single line input. This tutorial demonstrates the various ways available to get multi-line input from a user in Python.
Using the raw_input() Function to Get Multi-Line Input From a User in Python
The raw_input() function can be utilized to take in user input from the user in Python 2. However, the use of this function alone does not implement the task at hand. Let us move on to show how to implement this function in the correct way in Python.
The following code uses the raw_input() function to get multi-line input from a user in Python.
Further, after the introduction of Python 3, the raw_input() function became obsolete and was replaced by the new input() function.
Therefore, if using Python 3 or higher, we can utilize the input() function instead of the raw_input() function.
The above code can be simply tweaked in order to make it usable in Python 3.
Как считать несколько строк python
def input([prompt]): «»» Read a string from standard input. The trailing newline is stripped. The prompt string, if given, is printed to standard output without a trailing newline before reading input. If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError. On *nix systems, readline is used if available. «»» pass
ValueError: invalid literal for int() with base 10: ‘test’
Input() → int
Input() → float
Input() → list (список)
list = input().split() print(list) print(type(list)) > 1 word meow > [‘1’, ‘word’, ‘meow’] > <class ‘list’>
int_list = [] for element in input().split(): int_list.append(int(element)) print([type(num) for num in int_list]) > 1 2 3 > [<class ‘int’>, <class ‘int’>, <class ‘int’>]
a, b = [int(s) for s in input().split()] print(f»type a: , type b: «) > 13 100 > type a: <class ‘int’>, type b: <class ‘int’>