Как ввести список в Python с клавиатуры

Обновлено: 25.06.2024

Большинство программ работают не только с переменными. Они также используют списки переменных. Например, программа может обрабатывать информацию об учениках в классе, читая список учеников с клавиатуры или из файла. Изменение количества учащихся в классе не должно требовать модификации исходного кода программы.

Ранее мы уже сталкивались с задачей обработки элементов последовательности — например, при вычислении наибольшего элемента последовательности. Но мы не сохранили всю последовательность в памяти компьютера. Однако во многих задачах необходимо сохранить всю последовательность, как если бы нам нужно было распечатать все элементы последовательности в порядке возрастания («сортировать последовательность»).

Список Primes состоит из 6 элементов, а именно: Primes[0] == 2 , Primes[1] == 3 , Primes[2] == 5 , Primes[3] == 7 , Primes[4] == 11 , Простые числа[5] == 13 . Список Rainbow состоит из 7 элементов, каждый из которых является строкой.

Как и символы в строке, элементы списка также могут иметь отрицательный индекс, например, Primes[-1] == 13 , Primes[-6] == 2 . Отрицательный индекс означает, что мы начинаем с последнего элемента и идем влево при чтении списка.

Вы можете получить количество элементов в списке с помощью функции len (что означает длину списка), например len(Простые числа) == 6 .

В отличие от строк, элементы списка можно изменять; их можно изменить, присвоив им новые значения.

Рассмотрите несколько способов создания и чтения списков. Во-первых, вы можете создать пустой список (список без элементов, его длина равна 0), а также добавлять элементы в конец списка с помощью append . Например, пусть программа получает количество элементов в списке n , а затем n элементов списка по одному в отдельной строке. Вот пример входных данных в таком формате: В этом случае можно организовать чтение из такого списка следующим образом:

В продемонстрированном примере создается пустой список, затем считывается количество элементов, затем вы читаете элементы списка построчно и добавляете в конец. То же самое можно сделать, сохранив переменную n :

Для списков определено несколько операций: конкатенация списков (добавление списков, т.е. "приклеивание" одного списка к другому) и повторение (умножение списка на число). Например:

Результирующий список c будет равен [1, 2, 3, 4, 5] , а список d будет равен [4, 5, 4, 5, 4, 5] . Это позволяет по-разному организовать процесс чтения списков: сначала учитывать размер списка и создавать список из нужного количества элементов, затем циклически перебирать переменную i начиная с номера 0 и внутри цикла читать i-й элемент из списка:

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

Здесь меняется индекс i, затем отображается элемент a[i].

В этом примере элементы списка отображаются в одну строку, разделенные пробелами, и изменяется не индекс, а значение самой переменной (например, в цикле для elem в ['red', 'green', 'blue'] переменная elem будет последовательно принимать значения 'red' , 'green' , 'blue'.

Обратите особое внимание на последний пример! Очень важной частью идеологии Python является цикл for, который обеспечивает удобный способ перебора всех элементов некоторой последовательности. В этом Python отличается от Pascal, где вам нужно перебирать индексы элементов, но не сами элементы.

Последовательности в Python — это строки, списки, значения функции range() (это не списки) и некоторые другие объекты.

Вот пример, показывающий использование цикла for, когда вам нужно извлечь все цифры из строки и составить из них числовой список.

2. Методы разделения и объединения

Элементы списка могут быть указаны в одной строке, разделенной символом; в этом случае весь список можно прочитать с помощью input() . Затем вы можете использовать строковый метод split() , который возвращает список строк, полученных после разрезания исходной строки пробелами. Пример:

Если вы запустите эту программу с входными данными 1 2 3 , список a будет равен ['1', '2', '3'] . Обратите внимание, что список будет состоять из строк, а не из чисел. Если вы хотите получить список чисел, вам нужно преобразовать элементы списка один за другим в целые числа:

Используя особую магию Python — генераторы — то же самое можно сделать одной строкой:

(Мы объясним, как работает этот код, в следующем разделе.) Если вы хотите прочитать список действительных чисел, вы должны изменить тип int на float .

Метод split() имеет необязательный параметр, определяющий, какая строка будет использоваться в качестве разделителя между элементами списка. Например, вызов метода split('.') возвращает список, полученный путем разделения исходной строки, в которой есть символ '.' встречается:

В Python вы можете отобразить список строк с помощью однострочных команд. Для этого используется метод join; этот метод имеет один параметр: список строк. Возвращает строку, полученную конкатенацией заданных элементов, а разделитель вставляется между элементами списка; этот разделитель равен строке, к которой применяется метод. Мы знаем, что вы не поняли предыдущее предложение с первого раза. :) Посмотрите на примеры:

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

Однако, если вы не являетесь поклонником темной магии, вы можете добиться того же эффекта, используя цикл for .

3. Генераторы

Чтобы создать список, заполненный одинаковыми элементами, вы можете использовать повторение списка, например:

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

где переменная — идентификатор некоторой переменной, sequence — последовательность значений, которая принимает переменную (это может быть список, строка или объект полученное с помощью функции range ), выражение — некоторое выражение, обычно зависящее от переменной, используемой в генераторе. Элементы списка будут заполнены в соответствии с этим выражением.

Вот несколько примеров использования генераторов.

Вот как вы создаете список из n нулей с помощью генератора:

Вот как создать список, заполненный квадратами целых чисел:

Если вам нужно заполнить список квадратов чисел от 1 до n , вы можете изменить настройки диапазона на range(1, n + 1) :

Вот как можно получить список, заполненный случайными числами от 1 до 9 (используя randrange из модуля random ):

А в этом примере список будет состоять из строк, считанных со стандартного ввода: во-первых, нужно ввести количество элементов списка (это значение будет использоваться как аргумент функции range), во-вторых — это число строк:

4. Фрагменты

Со списками и строками можно делать срезы. А именно:

A[i:j] среза j-i элементов A[i] , A[i+1] , . А[j-1].

A[i:j:-1] срез i-j элементов A[i] , A[i-1] , . A[j+1] (то есть изменение порядка элементов).

A[i:j:k] вырезается с шагом k : A[i] , A[i+k] , A[i+2*k] . . Если значение k i или j может отсутствовать, что означает «начало строки» или «конец строки»

Списки, в отличие от строк, являются изменяемыми объектами: элементу списка можно присвоить новое значение. Более того, можно менять целые слайсы. Например:

Здесь мы получили список [1, 2, 3, 4, 5] , а затем пытаемся заменить два элемента среза A[2:4] новым списком из трех элементов. Результирующий список выглядит следующим образом: [1, 2, 7, 8, 9, 5] .

И здесь результирующий список будет [40, 2, 30, 4, 20, 6, 10] . Причина в том, что A[::-2] представляет собой список элементов A[-1] , A[-3] , A[-5] , A[-7] , и этим элементам присваиваются значения 10, 20, 30, 40 соответственно.

ввод [1,2,3] и 1 2 3 дает результат 7 и 5 соответственно — похоже, ввод интерпретируется как строка. Есть ли прямой способ сделать из него список? Возможно, я мог бы использовать re.findall для извлечения целых чисел, но если это возможно, я бы предпочел использовать более Pythonic-решение.


12 ответов 12

В Python 3.x используйте это.

Пример



@StevenVascellaro Да, хотя выражение будет выглядеть как str(x) вместо string(x), поскольку str — это способ выражения строки в python

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

что делать, если мои входные данные имеют смешанную строку типа данных и целое число, то как я могу разделить их и преобразовать в список. ввод: 'aaa' 3 45 554 'bbb' 34 'ccc' я добавил содержимое, разделенное пробелом!!

@FarhanPatel Это несвязанный вопрос, поэтому я предлагаю задать новый вопрос. Начните с перебора s.split() или shlex.split(s), если вы хотите разрешить пробелы внутри строк в кавычках.

eval(a_string) оценивает строку как код Python. Очевидно, что это не особенно безопасно. Вы можете получить более безопасную (более ограниченную) оценку, используя функцию literal_eval из модуля ast.

raw_input() называется так в Python 2.x, потому что он получает необработанные, а не "интерпретированные" данные. input() интерпретирует ввод, т.е.эквивалентно eval(raw_input()) .

В Python 3.x input() делает то же, что раньше делал raw_input(), и вы должны оценивать содержимое вручную, если это то, что вам нужно (например, eval(input()) ).

Вы можете использовать .split()

Это все равно даст вам строки, но это будет список строк.

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

Если вы хотите иметь возможность вводить любой тип Python и автоматически сопоставлять его, и вы НЕЯВНО доверяете своим пользователям, вы можете использовать eval

Еще один способ — использовать для этого цикл for. Допустим, вы хотите, чтобы пользователь ввел 10 чисел в список под названием «памятка»

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

Смотреть сейчас Это руководство содержит связанный с ним видеокурс, созданный командой Real Python. Посмотрите его вместе с письменным учебным пособием, чтобы углубить свое понимание: Чтение входных данных и Написание выходных данных в Python

Чтобы программа была полезной, она обычно должна взаимодействовать с внешним миром, получая входные данные от пользователя и отображая данные о результатах обратно пользователю. В этом руководстве вы узнаете о вводе и выводе Python.

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

В предыдущем руководстве этой вводной серии вы:

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

К концу этого руководства вы будете знать, как:

  • Принимать пользовательский ввод с клавиатуры с помощью встроенной функции input()
  • Отображение вывода на консоль с помощью встроенной функции print()
  • Форматировать строковые данные с помощью f-строк Python

Без дальнейших церемоний, давайте приступим!

Бесплатный бонус: нажмите здесь, чтобы получить памятку по Python и изучить основы Python 3, такие как работа с типами данных, словарями, списками и функциями Python.

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

Программы часто должны получать данные от пользователя, обычно путем ввода с клавиатуры. Один из способов сделать это в Python — использовать input() :

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

Обратите внимание, что возвращаемая строка не включает новую строку, сгенерированную, когда пользователь нажимает клавишу Enter.

Если вы включите необязательный

аргумент, затем функция input() отображает его как подсказку, чтобы пользователь знал, что вводить:

input() всегда возвращает строку. Если вам нужен числовой тип, вам нужно преобразовать строку в соответствующий тип с помощью встроенной функции int() , float() или complex() :

В приведенном выше примере выражение число + 100 в строке 3 недопустимо, поскольку число является строкой, а 100 — целым числом. Чтобы избежать этой ошибки, строка 8 преобразовывает число в целое число сразу после сбора пользовательского ввода. Таким образом, к расчетному числу + 100 в строке 10 нужно добавить два целых числа. Благодаря этому вызов print() выполняется успешно.

Примечание к версии Python. Если вы обнаружите, что работаете с кодом Python 2.x, вы можете столкнуться с небольшой разницей в функциях ввода между версиями Python 2 и 3.

raw_input() в Python 2 считывает ввод с клавиатуры и возвращает его. raw_input() в Python 2 ведет себя точно так же, как input() в Python 3, как описано выше.

Но в Python 2 также есть функция input() . В Python 2 функция input() считывает ввод с клавиатуры, анализирует и оценивает его как выражение Python и возвращает результирующее значение.

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

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

С помощью input() вы можете собирать данные от своих пользователей. Но что, если вы хотите показать им какие-либо результаты, рассчитанные вашей программой? Далее вы узнаете, как отображать выходные данные для пользователей в консоли.

Запись вывода в консоль

Помимо получения данных от пользователя, программа также обычно должна предоставлять данные обратно пользователю. Вы можете отображать данные программы на консоли в Python с помощью print() .

Чтобы отобразить объекты на консоли, передайте их в виде списка аргументов, разделенных запятыми, функции print() .

print( , . )

Отображает строковое представление каждого из них на консоль. (Документация)

По умолчанию print() разделяет объекты одним пробелом и добавляет новую строку в конец вывода:

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

Как видите, даже сложные типы, такие как списки, словари и функции, могут отображаться в консоли с помощью print() .

Печать с расширенными функциями

print() принимает несколько дополнительных аргументов, обеспечивающих скромный контроль над форматом вывода. Каждый из них представляет собой особый тип аргумента, называемый аргументом ключевого слова. Позже в этой вводной серии вы встретите руководство по функциям и передаче параметров, чтобы вы могли больше узнать об аргументах ключевых слов.

А пока вот что вам нужно знать:

  • Аргументы ключевых слов имеют форму = .
  • Любые ключевые аргументы, передаваемые функции print(), должны стоять в конце после списка отображаемых объектов.

В следующих разделах вы увидите, как эти ключевые аргументы влияют на вывод консоли, создаваемый функцией print() .

Разделение печатаемых значений

Добавление ключевого аргумента sep= приводит к тому, что Python разделяет объекты с помощью одинарного пробела, а не по умолчанию:

Чтобы сжать объекты вместе без пробела между ними, укажите пустую строку ("") в качестве разделителя:

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

Управление символом новой строки

Аргумент ключевого слова end= приводит к завершению вывода вместо символа новой строки по умолчанию:

Например, если вы отображаете значения в цикле, вы можете использовать end, чтобы значения отображались в одной строке, а не в отдельных строках:

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

Отправка вывода в поток

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

file= : по умолчанию print() отправляет свой вывод в поток по умолчанию с именем sys.stdout , который обычно эквивалентен консоли. Аргумент file= заставляет print() отправлять вывод в альтернативный поток, указанный вместо этого.

flush=True: обычно print() буферизует свой вывод и периодически записывает в выходной поток. flush=True указывает, что Python принудительно очищает поток вывода при каждом вызове функции print() .

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

Использование форматированных строк

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

Во многих случаях вам потребуется более точный контроль над внешним видом данных, предназначенных для отображения. Python предоставляет несколько способов форматирования выходных строковых данных. В этом разделе вы увидите пример использования f-строк Python для форматирования строк.

Примечание. Синтаксис f-строки — это один из современных способов форматирования строк. Для углубленного обсуждения вы можете ознакомиться с этими руководствами:

Вы также получите более подробный обзор двух подходов к форматированию строк, f-strings и str.format() , в руководстве по выводу форматированных строк в Python, которое следует за этим руководством в этой вводной серии.

В этом разделе вы будете использовать f-строки для форматирования вывода. Предположим, вы написали код, запрашивающий у пользователя имя и возраст:

Вы успешно собрали данные от своего пользователя, и вы также можете отобразить их на их консоли. Чтобы создать красиво отформатированное выходное сообщение, вы можете использовать синтаксис f-строки:

f-строки позволяют заключать имена переменных в фигурные скобки ( <> ), чтобы вставлять их значения в создаваемую строку. Все, что вам нужно сделать, это добавить букву f или F в начало вашей строки.

Далее предположим, что вы хотите сообщить пользователю, сколько ему будет лет через 50 лет. F-строки Python позволяют вам сделать это без особых накладных расходов! Вы можете добавить любое выражение Python между фигурными скобками, и Python сначала вычислит его значение, а затем вставит его в вашу f-строку:

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

Примечание. Если вы хотите узнать больше об использовании этого удобного метода форматирования строк, вы можете углубиться в руководство по f-строкам Python 3.

F-строки Python, возможно, являются наиболее удобным способом форматирования строк в Python. Если вы хотите учиться только одним способом, лучше всего придерживаться f-строк Python. Однако этот синтаксис доступен только начиная с Python 3.6, поэтому, если вам нужно работать с более старыми версиями Python, вам придется использовать другой синтаксис, например, метод str.format() или строковый оператор по модулю.

Ввод и вывод Python: заключение

В этом руководстве вы узнали о вводе и выводе в Python и о том, как ваша программа Python может взаимодействовать с пользователем. Вы также изучили некоторые аргументы, с которыми можно работать, чтобы добавить сообщение в приглашение ввода или настроить, как Python отображает вывод для ваших пользователей.

Вы научились:

  • Принимать пользовательский ввод с клавиатуры с помощью встроенной функции input()
  • Отображение вывода на консоль с помощью встроенной функции print()
  • Форматировать строковые данные с помощью f-строк Python

В следующем учебном пособии этой вводной серии вы узнаете о еще одном методе форматирования строк и глубже погрузитесь в использование f-строк.

Смотреть сейчас Это руководство содержит связанный с ним видеокурс, созданный командой Real Python. Посмотрите его вместе с письменным учебным пособием, чтобы углубить свое понимание: Чтение входных данных и Написание выходных данных в Python

Раз в несколько дней получайте короткие и интересные трюки с Python. Никакого спама никогда. Отписаться в любое время. Куратор: команда Real Python.

Python Tricks Dictionary Merge

О Джоне Стурце

Джон — заядлый питонист и член учебной группы Real Python.

python user input

Чтобы получить пользовательский ввод в Python, мы используем функцию input() в языке программирования Python, она запрашивает ввод от пользователя и возвращает строковое значение, независимо от того, какое значение вы ввели, все значения будут рассматриваться как строки. значения.

Что такое пользовательский ввод Python и зачем он нужен в Python?

Почти все интересные программы в какой-то момент принимают ввод от пользователя. Вы можете начать принимать пользовательский ввод в своих программах, используя функцию input() в Python. Функция ввода отображает пользователю сообщение с описанием типа ввода, который вы ищете, а затем ожидает, пока пользователь введет значение.

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

Едва ли есть программы без каких-либо входных данных. Ввод может поступать различными способами, например, из базы данных, другого компьютера, ввода и движений мыши или из Интернета. Тем не менее, в большинстве случаев ввод осуществляется с клавиатуры. Для этой цели Python предоставляет функцию input(). input имеет необязательный параметр, который является строкой подсказки.

Как читать ввод с клавиатуры в Python?

Ввод данных пользователем Python в Python 2

В Python 2 мы можем считывать ввод со стандартного устройства ввода, т. е. с клавиатуры, используя следующие две встроенные функции. Но, как мы все знаем, официальная поддержка Python 2 прекращена. Поэтому лучше изучить Python 3 сейчас.

Но, как мы все знаем, официальная поддержка Python 2 прекращена. Так что лучше изучить Python 3 сейчас.

Ввод данных пользователем Python в Python 3

В Python 3 для получения ввода от пользователя мы используем функцию ввода, которая считывает ввод пользователя со стандартного ввода (клавиатуры).

Получение ввода с помощью функции raw_input()

Функция определяется как блок организованного многократно используемого кода, используемого для выполнения одного связанного действия. Python имеет множество встроенных функций; вы также можете создать свой собственный. В Python есть функция ввода, которая позволяет запрашивать у пользователя ввод текста. Вы вызываете эту функцию, чтобы приказать программе остановиться и подождать, пока пользователь не введет данные. В Python 2 у вас есть встроенная функция raw_input()

В Python 2.7 необходимо использовать raw_input(). Эта функция считывает только одну строку из стандартного ввода и по умолчанию возвращает ее как строку.

Если вы используете Python 2, нам нужно использовать функцию raw_input() вместо функции input().

Примечание: функция raw_input() больше не используется в Python 3.

Пример пользовательского ввода Python с использованием raw_input()

Вывод:

Получение ввода с помощью функции ввода ( )

Чтобы получить ввод в Python, мы используем функцию input(), она запрашивает ввод от пользователя и возвращает строковое значение, независимо от того, какое значение вы ввели, все значения будут рассматриваться как строковые значения.

Чтобы получить пользовательский ввод в Python (3), вы используете команду input() . Сохраните результат в переменной и используйте его по своему усмотрению. Помните, что результатом, который вы получите от пользователя, будет строка, даже если он введет число.

В терминале (или в оболочке, в которой вы используете Python) будет напечатано следующее:

В конце input() происходит ожидание, пока пользователь что-нибудь введет и нажмет ENTER. Только после того, как пользователь нажмет ENTER, программа продолжит работу.

Пример пользовательского ввода Python с использованием функции input()

Пример 1 пользовательского ввода Python

Вывод:

Введите имя пользователя: Python Pool
Имя пользователя: Python Pool

Пример 2 пользовательского ввода Python

Вывод

Посмотрите программу и выходные данные. Здесь мы предоставили три значения «10» для val1, которое является целым числом, но рассматривается как строка, «10,23» для val2, которое является значением с плавающей запятой, но рассматривается как строка, «Hello» для val3, которое является строковым значением.

Принять целое число в качестве ввода пользователя

Пример 1 целочисленного пользовательского ввода Python

Вывод

Пример 2 целочисленного пользовательского ввода Python

Вывод:

Получить ввод с плавающей запятой от пользователя

Не существует такого метода, который можно было бы использовать для непосредственного получения ввода в виде числа с плавающей запятой, но входную строку можно преобразовать в число с плавающей запятой с помощью функции float(), которая принимает строку или число и возвращает значение с плавающей запятой.< /p>

Таким образом, мы используем функцию input() для чтения ввода и преобразования его в число с плавающей запятой с помощью функции float().

Пример использования пользовательского ввода Python как числа с плавающей запятой

Вывод

Прием ввода от пользователя в Python в виде списка

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

В этом примере

  • num_list – это пустой список. Мы добавим все элементы в этот список.
  • счетчик предназначен для хранения общего количества элементов. Вторая строка просит пользователя ввести общее количество элементов и сохраняет это значение в переменной count.
  • Используя один цикл for, мы считываем элементы один за другим от пользователя. Эти элементы добавляются в пустой список num_list.
  • Наконец, мы распечатываем список num_list.

Получить несколько значений от пользователя

Разработчик часто хочет, чтобы пользователь вводил несколько значений или входных данных в одной строке. В C++/C пользователь может принимать несколько входных данных в одной строке с помощью scanf, но в Python пользователь может принимать несколько значений или входных данных в одной строке двумя методами.

Использование метода split():
Эта функция помогает получить несколько входных данных от пользователя. Он разбивает данный ввод по указанному разделителю. Если разделитель не указан, то любой пробел является разделителем. Как правило, пользователь использует метод split() для разделения строки Python, но его можно использовать и для получения нескольких входных данных.

Синтаксис:

Пример:

а) разделить ()

функция split() помогает нам получить несколько входных данных от пользователя и назначить их соответствующим переменным в одной строке. Кроме того, эта функция обычно используется для разделения заданной строки на несколько подстрок. Однако вы также можете использовать его для получения нескольких входных данных. Функция обычно разбивает заданный ввод по указанному разделителю, и если разделитель не указан, то любой пробел считается разделителем.

Синтаксис использования функции разделения для получения нескольких входных данных:

Пример разделения

б) ввод ()

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

в) карта()

map() — это еще одна функция, которая поможет нам получать от пользователя несколько входных данных. В общем, синтаксис функции карты — это карта (весело, итер). Здесь fun — это функция, которой функция карты передает каждую итерацию.

Синтаксис для нескольких входных данных с использованием map()

Пример получения целочисленного ввода от пользователя.

Пример ввода строки пользователем.

d) Понимание списка

Списковые типы дат также помогают принимать несколько входных данных от пользователя одновременно. Синтаксис для создания списка и сохранения в нем ввода:

Список позволяет одновременно вводить несколько данных разных типов. Пример ниже поможет вам лучше понять.

Ввод данных пользователем Python и пример ошибки EOFError

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

Ошибка EOFError возникает, когда встроенная функция, такая как input() или raw_input(), не считывает данные до того, как обнаружит конец своего входного потока. Файловые методы, такие как read(), возвращают пустую строку в конце файла.

Данный код переписывается следующим образом, чтобы перехватить ошибку EOFError и найти ее тип.

Выражения пользовательского ввода Python в командной строке

Функция пользовательского ввода() в Python будет оценивать любое выражение, которое вводит пользователь. Вот несколько примеров:

Различия между input() и raw_input()

Использование ввода или, лучше, неявная оценка ввода часто приводили к серьезным ошибкам программирования в более ранних версиях Python, т. е. 2.x. Поэтому здесь функция ввода ведет себя как функция raw_input из Python2.

Функция input() работает по-разному в Python 3 и Python 2. Функции input() и raw_input() принимают ввод от пользователя.

Ввод и raw_input() в Python 2

  • Основное различие между этими двумя функциями заключается в том, что функция input() автоматически преобразует пользовательский ввод в соответствующий тип. т. е. если введенная пользователем строка функция input() преобразует ее в строку, а если пользователь ввел число, она преобразуется в целое число.
  • raw_input() преобразует каждый пользовательский ввод в строку.

Функция raw_input() в Python 2 переименована в input() в Python 3.x, а исходная функция input() удалена из Python 3.

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

Ввод и raw_input в функции в Python 3

В Python 3 функция raw_input() устарела и заменена функцией input() и используется для получения пользовательской строки с помощью клавиатуры. И функция input() в Python 2 больше не поддерживается в версии 3. Чтобы получить ту же функциональность, что и функция input() в Python 2, в Python 3 необходимо использовать оператор eval(input()).

Заключение

Итак, в заключение мы можем сказать, что очень просто получить пользовательский ввод в Python из функции input(). Пользовательский ввод Python можно легко получить с помощью input() и raw_input() в зависимости от используемой версии Python.

Если у вас все еще есть какие-либо сомнения, дайте мне знать ваши комментарии и отзывы в разделе ниже.
Удачного программирования!

Читайте также: