Автор оригинала: Pankaj Kumar.
- Пользователь Python ввод с клавиатуры может быть считываться с помощью встроенного входа () встроенной функции.
- Вход от пользователя читается как строка и может быть назначен переменной.
- После ввода значения с клавиатуры мы должны нажать кнопку «Ввод». Затем функция ввода () читает значение, введенное пользователем.
- Программа останавливается на неопределенный срок для ввода пользователя. Нет возможности обеспечить значение Timeout.
- Если мы введем EOF (* NIX: CTRL-D, Windows: Ctrl-Z + Return) EOFERROR повышается, а программа прекращается.
Синтаксис функции ввода ()
Синтаксис функции ввода ():
input(prompt)
Строка бывшего напечатана на консоли, и элемент управления придается пользователю ввести значение. Вы должны распечатать полезную информацию, чтобы выполнить пользователю ввести ожидаемое значение.
Получение пользовательского ввода в Python
Вот простой пример получения пользовательского ввода и печати его на консоли.
value = input("Please enter a string:\n") print(f'You entered {value}')
Выход:
Какой тип введенного пользователем значение?
Введенное значение пользователя всегда преобразуется в строку, а затем назначена переменной. Давайте подтвердим это, используя функцию типа (), чтобы получить тип входной переменной.
value = input("Please enter a string:\n") print(f'You entered {value} and its type is {type(value)}') value = input("Please enter an integer:\n") print(f'You entered {value} and its type is {type(value)}')
Выход:
Please enter a string: Python You entered Python and its type isPlease enter an integer: 123 You entered 123 and its type is
Как получить целое число в качестве ввода пользователя?
Нет способа получить целое число или любой другой тип в качестве ввода пользователя. Однако мы можем использовать встроенные функции для преобразования введенной строки в целое число.
value = input("Please enter an integer:\n") value = int(value) print(f'You entered {value} and its square is {value ** 2}')
Выход:
Python пользовательский ввод и пример EOFERROR
Когда мы вводим EOF, ввод () поднимает EOFERROR и завершает программу. Давайте посмотрим на простой пример, используя Pycharm IDE.
value = input("Please enter an integer:\n") print(f'You entered {value}')
Выход :
Please enter an integer: ^D Traceback (most recent call last): File "/Users/pankaj/Documents/PycharmProjects/PythonTutorialPro/hello-world/user_input.py", line 1, invalue = input("Please enter an integer:\n") EOFError: EOF when reading a line
Пример ввода пользователей Python
Мы можем создать интеллектуальную систему, предоставив пользователя пользователю и принимая пользовательский ввод, чтобы продолжить выбор.
value1 = input("Please enter first integer:\n") value2 = input("Please enter second integer:\n") v1 = int(value1) v2 = int(value2) choice = input("Enter 1 for addition.\nEnter 2 for subtraction.\nEnter 3 for Multiplication.:\n") choice = int(choice) if choice == 1: print(f'You entered {v1} and {v2} and their addition is {v1 + v2}') elif choice == 2: print(f'You entered {v1} and {v2} and their subtraction is {v1 - v2}') elif choice == 3: print(f'You entered {v1} and {v2} and their multiplication is {v1 * v2}') else: print("Wrong Choice, terminating the program.")
Вот вывод образца из выполнения вышеуказанной программы.
Быстрое слово на функции Python RAW_INPUT ()
Функция RAW_INPUT () была использована для использования пользовательского ввода в версиях Python 2.x. Вот простой пример от интерпретатора командной строки Python 2.7, показывающий использование функции RAW_INPUT ().
~ python2.7 Python 2.7.10 (default, Feb 22 2019, 21:55:15) [GCC 4.2.1 Compatible Apple LLVM 10.0.1 (clang-1001.0.37.14)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> value = raw_input("Please enter a string\n") Please enter a string Hello >>> print value Hello
Эта функция была устарена и удалена из Python 3. Если вы все еще находитесь на версиях Python 2.x, рекомендуется обновить до версий Python 3.x.
Заключение
Очень легко взять пользовательский ввод в Python с функции ввода (). Он в основном используется для обеспечения выбора операции пользователю, а затем изменять поток программы соответственно.
Однако программа неопределенно ожидает ввода пользователя. Было бы приятно иметь некоторое время тайм-аута и значение по умолчанию в случае, если пользователь не входит в систему во времени.