Raw data python input

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

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

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

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

Ввод в Python

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

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

Читайте также:  Return outside method java ошибка

Интересно, что кое-что поменялось в принципе работе функции между 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 используются для получения пользовательского ввода в разных форматах. Также научились обрабатывать исключения и ошибки, которые могут возникнуть в процессе.

Источник

Функция raw_input() в Python

Функция raw_input() в Python удалена из версий Python 3.x. Но он существует в Python 2.x. На самом деле он имеет ту же функциональность, что и функция python input() в Python 3.x.

Настройка для Python 2.x

Чтобы использовать функцию python raw_input(), в вашей системе должен быть установлен python 2. Если вы запускаете свою программу с терминала, используйте python2 вместо python или Python3. Итак, пример команды для выполнения приведен ниже:

Это зависит от того, как вы настроили свой питон. Суть в том, что если вы используете функцию raw_input, вы должны запускать свою программу с использованием версии python 2.x.

Если вы используете PyCharm IDE, вы можете изменить свой компилятор python. Для этого перейдите в Файл -> Настройки -> Проект -> Интерпретатор проекта. Затем выберите python 2.x. из списка. То же, что и на изображении ниже.

Необработанная входная среда в python

Пример

Здесь мы представим одну примерную программу raw_input. Но сначала вы должны знать, что функция принимает на входе строку. Итак, теперь мы напишем программу, которая запросит ваше имя и затем распечатает его. Код приведен ниже.

a = raw_input('What\'s your name : ') print 'Username : ', a

Посмотрите внимательно на функцию печати. Весь код написан для версии python 2.x. Итак, некоторые функции могут вам сейчас показаться незнакомыми. Однако вывод кода будет таким, как показано ниже.

What's your name : Andy Moore Username : Andy Moore

Источник

raw_input python

Python Certification Course: Master the essentials

Programs often need to interact with the user to take input from the user and perform some desired operation and give the output. The next question that pops into our mind as a programmer is, «How do we take an input from the user?». There are many ways in which we can take input from the user in Python. The raw_input() function in python 2. x is one of the methods to take the input from the user.

Syntax of raw_input() function in Python

The syntax of raw_input() function in python is as follows :

The raw_input() function takes a prompt (String) as a parameter. The value returned by the function is stored in the variable named var .

Parameters of raw_input() in Python

The raw_input() function takes a string as a parameter. As we saw previously in the syntax, The raw_input() in python takes prompt as the parameter. Here, prompt refers to the message to be displayed while the program waits for the user to give the input. It is not necessary that we always give a parameter to the raw_input() function, but to make it user-friendly, it is recommended to add the prompt. A prompt lets the user know what is required by the program and what has to be entered.

raw_input() Function with a Parameter

The above code snippet of code when executed, will prompt a message «Enter your name» and waits for the user to give input and store it into the variable name before executing the next line of code.

raw_input() function without a parameter

The same code can be written without the prompt message as follows —

When we run the above snippet of code, the program will stop executing and wait for the user to give any input. As we have not included any prompt message, the program will simply stop for the user to enter the input. Once the user has given input, the program will continue executing the next line.

Return Values of raw_input() function in Python

The raw_input() function in python 2 returns the value as a string. Once the user has given the input, whether the input is in the form of int, double, string, etc. The raw_input() function explicitly converts the entered data into string and will return a string.

Example of raw_input() function in Python

With String as Input

With Integer as Input

Explanation:

From the above examples, we can infer that the raw_input() function returns a string by explicitly converting it irrespective of the type of data entered.

Exceptions of raw_input() in Python

The raw_input() function works only in python 2 and does not work in python 3 . python 2 supports both input() and raw_input() functions but python 3 supports only input() function.

Note The properties of the input() function are different in python 2 and python 3

What is raw_input() in Python?

The raw_input() function in python 2 is used to take the input from the user through an input device. The raw_input() function is different from the input() function in python 2 which we will discuss in the latter part of this article. The raw_input() takes a string as a parameter, which will be printed in the output for the ease of user in entering the input. The function returns the value entered by the user is converted into string irrespective of the type of input given by the user.

Note: It is important to note that the raw_input() function works only in python 2.

More Examples

Program in Python 2

Program with a string as input

Explanation:

In the above example, we took the favorite color of the user as input and stored it in the fav variable. Later we printed it out using the print() function.

Program with an integer as input

Explanation:

In the above example, we took the shoe size of the user as input and stored it in the size variable. Later we printed it out using the print() function.

Program without parameter (prompt)

Explanation:

In the above code, we used the raw_input() function without a parameter or a prompt. When the program is executed, the program executes the first line of code and waits for the user to give the input, only then the next line is executed.

It is difficult and confusing for the user to understand why the program stopped and what should be given as input. Therefore it is recommended to use the prompt while using the raw_input() function.

Program in Python 3

Explanation:

The above program did not run as we expected and we encountered an error. This is because python 3 doesn’t support the raw_input() function which can be seen in the error output.

Difference between input() and raw_input() Function in Python

  • Python 2.x : In python 2, we have both the raw_input() function and the input() function, The main difference between both the functions is the return type of the function. The raw_input() function explicitly converts the input and returns a string as output whereas the input() function takes the value and type of the input you enter as it is without modifying the type.
  • Python 3.x : Python 3 doesn’t support the raw_input() function. Python 3 supports only input() function but input() function in python 3 explicitly converts the input into string.

Conclusion

  • The raw_input() function which is available in python 2 is used to take the input entered by the user.
  • The raw_input() function explicitly converts the entered data into a string and returns the value.
  • The raw_input() can be used only in python 2.x version.

Источник

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