Ввести несколько строк питон

Как считать несколько строк python

Функция input() ждёт, пока пользователь нажнёт на клавиш Enter , и затем немедленно возвратит введенную строку, также когда пользователь затем что-то писал, это или потеряется, или передается последующей команде на ввод с клавиатуры.

Значит, нельзя 1 командой input() ввести более строк — нужно это повторить, например в таком цикле:

и ещё одного нажатия на Enter получится вывод

Можно так попробовать, но надо нажать после ввода еще раз энтер и будут кавычки квадратные со скобками.

Как мне прочитать несколько строк raw_input в Python?

Я хочу создать программу на Python, которая принимает несколько строк пользовательского ввода. Например:

Как я могу взять несколько строк необработанного ввода?

7 ответов

Чтобы получить каждую строку в виде строки, вы можете сделать:

* Я долго боролся с этим вопросом, потому что хотел найти способ прочитать несколько строк пользовательского ввода без необходимости прерывать его с помощью Control D (или стоп-слова). В конце концов я нашел способ в Python3, используя модуль pyperclip (который вы должны будете установить с помощью установки pip). Ниже приведен пример, который принимает список IP-адресов *

Читайте также:  Popen python не работает

Для меня это именно то, что я искал; возьмите несколько строк ввода, выполните необходимые действия (здесь простая печать), а затем прервите цикл при обработке последней строки. Надеюсь, это может быть одинаково полезно и для вас.

Кроме того, вы можете попробовать sys.stdin.read()

Продолжайте читать строки, пока пользователь не введет пустую строку (или не изменит stopword на что-то другое)

Просто расширив этот ответ https://stackoverflow.com/a/11664652/4476612 вместо любого стоп-слова вы можете просто проверить, есть ли линия там или нет

Вы получите строки в списке, а затем присоединитесь к \ n, чтобы перейти в ваш формат.

Пользовательский ввод (input) в Python

О бычно программа работает по такой схеме: получает входные данные → обрабатывает их → выдает результат. Ввод может поступать как непосредственно от пользователя через клавиатуру, так и через внешний источник (файл, база данных).

В стандартной библиотеке Python 3 есть встроенная функция input() (в Python 2 это raw_input() ), которая отвечает за прием пользовательского ввода. Разберемся, как она работает.

Чтение ввода с клавиатуры

Функция input([prompt]) отвечает за ввод данных из потока ввода:

s = input() print(f»Привет, !») > мир # тут мы с клавиатуры ввели слово «мир» > Привет, мир!

  1. При вызове функции input() выполнение программы приостанавливается до тех пор, пока пользователь не введет текст на клавиатуре (приложение может ждать бесконечно долго).
  2. После нажатия на Enter , функция input() считывает данные и передает их приложению (символ завершения новой строки не учитывается).
  3. Полученные данные присваиваются переменной и используются дальше в программе.

input() всегда возвращает строку :

Также у input есть необязательный параметр prompt – это подсказка пользователю перед вводом:

name = input(«Введите имя: «) print(f»Привет, !») > Введите имя: Вася > Привет, Вася!

�� Более подробное описание функции из документации:

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

Преобразование вводимые данные

Данные, введенные пользователем, попадают в программу в виде строки, поэтому и работать с ними можно так же, как и со строкой. Если требуется организовать ввод цифр, то строку можно преобразовать в нужный формат с помощью функций явного преобразования типов.

☝️ Важно : если вы решили преобразовать строку в число, но при этом ввели строку (например: test), возникнет ошибка:

ValueError: invalid literal for int() with base 10: ‘test’

На практике такие ошибки нужно обрабатывать через try except . В примере ниже пользователь будет вводить данные до тех пор, пока они успешно не преобразуются в число.

def get_room_number(): while True: try: num = int(input(«Введите номер комнаты: «)) return num except ValueError: print(«Вы ввели не число. Повторите ввод») room_number = get_room_number() print(f»Комната успешно забронирована!») > Введите номер комнаты: test > Вы ввели не число. Повторите ввод > Введите номер комнаты: 13 > Комната 13 успешно забронирована!

Input() → int

Для преобразования в целое число используйте функцию int() . В качестве аргумента передаются данные которые нужно преобразовать, а на выходе получаем целое число:

age_str = input(«Введите ваш возраст: «) age = int(age_str) print(age) print(type(age)) > Введите ваш возраст: 21 > 21 >

То же самое можно сделать в одну строку: age = int(input(«Введите ваш возраст: «)) .

Input() → float

Если нужно получить число с плавающей точкой (не целое), то его можно получить с помощью функции float() .

weight = float(input(«Укажите вес (кг): «)) print(weight) print(type(weight)) > Укажите вес (кг): 10.33 > 10.33 >

Input() → list (список)

Если в программу вводится информация, которая разделяется пробелами, например, «1 word meow», то ее легко преобразовать в список с помощью метода split() . Он разбивает введенные строки по пробелам и создает список:

list = input().split() print(list) print(type(list)) > 1 word meow > [‘1’, ‘word’, ‘meow’] >

�� Обратите внимание, что каждый элемент списка является строкой. Для преобразования в число, можно использовать int() и цикл for. Например, так:

int_list = [] for element in input().split(): int_list.append(int(element)) print([type(num) for num in int_list]) > 1 2 3 > [, , ]

Ввод в несколько переменных

Если необходимо заполнить одним вводом с клавиатуры сразу несколько переменных, воспользуйтесь распаковкой:

В этом примере строка из input() разбивается по пробелу функцией split() . Далее применяется синтаксис распаковки – каждый элемент списка попадает в соответствующую переменную.

Все переменные после распаковки будут строкового типа. Преобразовать их (например в int) можно так:

a, b = [int(s) for s in input().split()] print(f»type a: , type b: «) > 13 100 > type a: , type b:

☝️ Важно : не забывайте обрабатывать ошибки:

  • если введенных значений больше чем переменных, получите ошибку – ValueError: too many values to unpack (expected 3) ;
  • если введенных значений меньше чем переменных, получите ошибку – ValueError: not enough values to unpack (expected 3, got 2) ;
  • если преобразовываете в int, а вводите строку – ValueError: invalid literal for int() with base 10: ‘test’ .

В этом руководстве вы узнали, как принимать данные от пользователя, введенные с клавиатуры, научились преобразовывать данные из input и обрабатывать исключения.

Источник

Как ввести несколько строк в python

Функция input() ждёт, пока пользователь нажмёт на клавишу Enter, и затем возвращает введенную строку. Значит, нельзя 1 командой input() ввести более одной строки, но можно повторять это, например, в таком цикле:

result = [] while True: # False - пустая строка seq = input('Введите строку: ') if seq: result.append(seq) else: break # run. # 1 # Hello # True # print(result) # => ['1', 'Hello', 'True'] 

Ввод окончится при двойном переносе строки. В результате получим массив введенных строк.

Источник

Input Multiple Lines in Python

Input Multiple Lines in Python

  1. Using the raw_input() Function to Get Multi-Line Input From a User in Python
  2. Using sys.stdin.read() Function to Get Multiline Input From a User 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.

x = '' # The string is declared for line in iter(raw_input, x):  pass 

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.

x = '' # The string is declared for line in iter(input, x):  pass 

Using sys.stdin.read() Function to Get Multiline Input From a User in Python

The sys module can be imported to the Python code and is mainly utilized for maintaining and manipulating the Python runtime environment.

The sys.stdin.read() function is one such function that is a part of the sys module and can be utilized to take multi-line input from the user in both Python 2 and Python 3.

import sys s = sys.stdin.read() print(s) 

The Python console can be cleared after taking the input and displayed on the screen using the print command.

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

Related Article — Python Input

Источник

Считывание более двух строк инпутом

Всем привет! Подскажите, пожалуйста, как заставить input считывать две и более строк, а не только одну?
Например, мне нужно ввести:
Привет
как
дела
?

А программа принимает только «Привет»

counter = {} for word in input().split(): counter[word] = counter.get(word, 0) + 1 print(counter[word] - 1, end=' ')

Считывание матрицы из файла — игнорировать более двух пробелов
procedure TFMain.BTexitClick(Sender: TObject); begin if (messagedlg(‘Вы действительно хотите.

Запишите в массив номера строк массива строк, которые содержат не более двух цифр
Дан одномерный массив строк, состоящих из цифр и букв латинского алфавита. запишите в числовой.

Считывание поочередно двух строк из текстового файла
Ребята, подскажите как записать код, чтобы при авторизации пользователя, нажимая на кнопку — с.

Сравнение двух и более строк в Memo
Здравствуйте! На форме помещены: 1. Memo1 И textonmemo:string;. В мемо записаны хеши md5. А в.

Вывести значение из двух и более строк в один TextBox
Здраствуйте! Этим кодом вывожу значения из трех связанных таблиц (DataGridView) в TextBox-ы.

Как вариант считать несколько строк и сложить.

n = 3 # Сколько строчек надо ввести text = ' '.join([input().rstrip('\n') for i in range(n)]) print(text)

Источник

Оцените статью