Python user input module

inputs 0.5

Cross-platform Python support for keyboards, mice and gamepads.

Ссылки проекта

Статистика

Метаданные

Лицензия: BSD License (BSD)

Сопровождающие

Классификаторы

  • Intended Audience
    • Developers
    • OSI Approved :: BSD License
    • MacOS :: MacOS X
    • Microsoft :: Windows
    • POSIX :: Linux
    • Python :: 2.7
    • Python :: 3
    • Software Development :: Embedded Systems
    • Software Development :: Libraries
    • System :: Hardware :: Hardware Drivers
    • Utilities

    Описание проекта

    Inputs aims to provide cross-platform Python support for keyboards, mice and gamepads.

    Install

    Or download the whole repository from github:

    git clone https://github.com/zeth/inputs.git cd inputs python setup.py install

    About

    The inputs module provides an easy way for your Python program to listen for user input.

    Currently supported platforms are Linux (including the Raspberry Pi and Chromebooks in developer mode), Windows and the Apple Mac.

    Python versions supported are all versions of Python 3 and your granddad’s Python 2.7.

    To get started quickly, just use the following:

    from inputs import devices

    For more information, read the documentation at ReadTheDocs

    (Also available in the docs directory of the repository)

    To get involved with inputs, please visit the github project at:

    Источник

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

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

    Python, будучи медленным относительно таких языков, как C или Java, предлагает продвинутые инструменты для получения, анализа и обработки данных от конечного пользователя.

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

    Ввод в Python

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

    Когда input() или raw_input() вызываются, поток программы останавливается до тех пор, пока пользователь не введет данные через командную строку. Для ввода нужно нажать Enter после завершения набора текста. Обычно Enter добавляет символ новой строки ( \n ), но не в этом случае. Введенная строка просто будет передана приложению.

    Интересно, что кое-что поменялось в принципе работе функции между Python 2 и Python 3, что отразилось в разнице между input() и raw_input() . Об этом дальше.

    Сравнение функций input и raw_input

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

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

    Взгляните на пример функции raw_input в Python 2.

    # Python 2 txt = raw_input("Введите что-нибудь, чтобы проверить это: ") print "Это то, что вы только что ввели?", txt 
    Введите что-нибудь, чтобы проверить это: Привет, мир! Это то, что вы только что ввели? Привет, мир! 

    А вот как она работает в Python 3

    # Python 3 txt = input("Введите что-нибудь, чтобы проверить это: ") print("Это то, что вы только что ввели?", txt) 
    Введите что-нибудь, чтобы проверить это: Привет, мир 3! Это то, что вы только что ввели? Привет, мир 3! 

    Дальше в материале будет использоваться метод input из Python 3, если не указано другое.

    Строковый и числовой ввод

    По умолчанию функция input() конвертирует всю получаемую информацию в строку. Прошлый пример продемонстрировал это.

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

    # Ввод запрашивается и сохраняется в переменной test_text = input ("Введите число: ") # Преобразуем строку в целое число. # функция float() используется вместо int(), # для преобразования пользовательского ввода в десятичный формат, test_number = int(test_text) # Выводим в консоль переменную print ("Введенное число: ", test_number) 
    Введите число: 13 Введенное число: 13 

    Того же можно добиться и таким образом:

    test_number = int(input("Введите число: ")) 

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

    Нужно лишь отметить, что если пользователь ввел не целое число, то код вернет исключение (даже если это число с плавающей точкой).

    Обработка исключений ввода

    Есть несколько способов, как можно удостовериться в том, что пользователь ввел корректные данные. Один из них — перехватывать все возможные ошибки, которые могут возникнуть.

    Вот такой код считается небезопасным:

    test2word = input("Сколько вам лет? ") test2num = int(test2word) print("Ваш возраст ", test2num) 

    Запустим его и введем следующее:

    При вызове функции int() со строкой Пять появится исключение ValueError , и программа остановит работу.

    Вот как можно сделать код безопаснее и обработать ввод:

    test3word = input("Введите свое счастливое число: ") try: test3num = int(test3word) print("Это правильный ввод! Ваше счастливое число: ", test3num) except ValueError: print("Это не правильный ввод. Это не число вообще! Это строка, попробуйте еще раз.") 

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

    Вот так будет выглядеть вывод с исключением.

    Введите свое счастливое число: Семь Это не правильный ввод. Это не число вообще! Это строка, попробуйте еще раз. 

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

    Полный пример

    # Создадим функцию для демонстрации примера def example(): # Бесконечный цикл, который продолжает выполняться # до возникновения исключения while True: test4word = input("Как вас зовут? ") try: test4num = int(input("Сколько часов вы играете на своем мобильном телефоне?" )) # Если полученный ввод не число, будет вызвано исключение except ValueError: # Цикл будет повторяться до правильного ввода print("Error! Это не число, попробуйте снова.") # При успешном преобразовании в целое число, # цикл закончится. else: print("Впечатляет, ", test4word, "! Вы тратите", test4num*60, "минут или", test4num*60*60, "секунд на игры в своем телефоне!") break # Вызываем функцию example() 
    Как вас зовут? Александр Сколько часов вы играете на своем мобильном телефоне? 3 Впечетляет, Александр! Вы тратите 180 минут или 10800 секунд на игры в своем телефоне! 

    Выводы

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

    Источник

    Python User Input

    The method is a bit different in Python 3.6 than Python 2.7.

    Python 3.6 uses the input() method.

    Python 2.7 uses the raw_input() method.

    The following example asks for the username, and when you entered the username, it gets printed on the screen:

    Python 3.6

    Python 2.7

    Python stops executing when it comes to the input() function, and continues when the user has given some input.

    Unlock Full Access 50% off

    COLOR PICKER

    colorpicker

    Join our Bootcamp!

    Report Error

    If you want to report an error, or if you want to make a suggestion, do not hesitate to send us an e-mail:

    Thank You For Helping Us!

    Your message has been sent to W3Schools.

    Top Tutorials
    Top References
    Top Examples
    Get Certified

    W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

    Источник

    Python User Input from Keyboard – input() function

    The prompt string is printed on the console and the control is given to the user to enter the value. You should print some useful information to guide the user to enter the expected value.

    Getting User Input in Python

    Here is a simple example of getting the user input and printing it on the console.

    value = input("Please enter a string:\n") print(f'You entered ')

    Python User Input

    What is the type of user entered value?

    The user entered value is always converted to a string and then assigned to the variable. Let’s confirm this by using type() function to get the type of the input variable.

    value = input("Please enter a string:\n") print(f'You entered and its type is ') value = input("Please enter an integer:\n") print(f'You entered and its type is ')

    Please enter a string: Python You entered Python and its type is Please enter an integer: 123 You entered 123 and its type is

    How to get an Integer as the User Input?

    There is no way to get an integer or any other type as the user input. However, we can use the built-in functions to convert the entered string to the integer.

    value = input("Please enter an integer:\n") value = int(value) print(f'You entered and its square is ')

    Python User Input Integer

    Python user input and EOFError Example

    When we enter EOF, input() raises EOFError and terminates the program. Let’s look at a simple example using PyCharm IDE.

    value = input("Please enter an integer:\n") print(f'You entered ')
    Please enter an integer: ^D Traceback (most recent call last): File "/Users/pankaj/Documents/PycharmProjects/PythonTutorialPro/hello-world/user_input.py", line 1, in value = input("Please enter an integer:\n") EOFError: EOF when reading a line

    Python User Input EOFError

    Python User Input Choice Example

    We can build an intelligent system by giving choice to the user and taking the user input to proceed with the choice.

    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 and and their addition is ') elif choice == 2: print(f'You entered and and their subtraction is ') elif choice == 3: print(f'You entered and and their multiplication is ') else: print("Wrong Choice, terminating the program.")

    Here is a sample output from the execution of the above program.

    Python User Input Choice

    Quick word on Python raw_input() function

    The raw_input() function was used to take user input in Python 2.x versions. Here is a simple example from Python 2.7 command line interpreter showing the use of raw_input() function.

    ~ 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

    This function has been deprecated and removed from Python 3. If you are still on Python 2.x versions, it’s recommended to upgrade to Python 3.x versions.

    Conclusion

    It’s very easy to take the user input in Python from the input() function. It’s mostly used to provide choice of operation to the user and then alter the flow of the program accordingly.

    However, the program waits indefinitely for the user input. It would have been nice to have some timeout and default value in case the user doesn’t enter the value in time.

    References:

    Источник

    Читайте также:  Php вывод текущего года
Оцените статью