String input function python

How do I Input a String From the User in Python?

In Python, there are several ways to input a string from the user. The most common method is by using the built-in function input(). This function allows the user to enter a string, which is then stored as a variable for use in the program.

Here’s an example of how to input a string from the user in Python −

# Define a variable to store the input name = input("Please enter your name: ") # Print the input print("Hello, " + name + "! Good to see you.")

The above code generates the following output for us −

Please enter your name: Max Hello, Max! Good to see you.

In the code above, we have,

  • Define a variable to store the input − name = input(«Please enter your name: «)
    • In this step, a variable named «name» is created to store the input from the user.
    • The «input()» function is used to display a message to the user, asking them to enter their name. The message, «Please enter your name: «, is passed as an argument to the function.
    • The result of the «input()» function call is stored in the «name» variable. This means that the user’s input is now stored in the «name» variable, ready to be used.
    • In this step, the «print()» function is used to display a message to the user, using the value stored in the «name» variable. The message, «Hello, [name]! Good to see you.», is passed as an argument to the function. The value of «name» is concatenated with the rest of the string using the «+» operator.

    It’s crucial to remember that the output of the «input()» function will always be a string, even if the user enters a numerical value. If you need to use the input as a number, you’ll need to convert it to the appropriate data type (e.g. int or float).

    Here’s an example of how to input a number from the user −

    # Define a variable to store the input age = int(input("Please enter your age: ")) # Print the input print("Wow, you are " + str(age) + " years old!")

    The above code generates the following output for us −

    Please enter your age: 24 Wow, you are 24 years old!
    • A variable named «age» is created to store the input from the user.
    • The message, «Please enter your age: «, is passed as an argument to the function.
    • Since the «input()» function always returns a string, we need to convert the user’s input to an integer using the «int()» function. This allows us to store the user’s input as a number, rather than a string.
    • The result of the «int()» function call is stored in the «age» variable.
    • The «print()» function is used to display a message to the user, using the value stored in the «age» variable. The message, «Wow, you are [age] years old!», is passed as an argument to the function. The value of «age» is first converted to a string using the «str()» function and then concatenated with the rest of the string using the «+» operator.

    It’s also possible to assign a default value to the input, in case the user doesn’t provide any input. This can be done using the «or» operator and a default value −

    Example

    # Define a variable to store the input name = input("Please enter your name (or press enter for default): ") or "Max" # Print the input print("Hello, " + name + "! Good to see you.")

    The above code generates the following output for us −

    Please enter your name (or press enter for default): Hello, Max! Good to see you.
    • A variable named «name» is created to store the name input by the user.
    • The message, «Please enter your name (or press enter for default) − «, is passed as an argument to the function.
    • The or operator is used to set a default value for the name variable. If the user presses enter without entering a name, the input() function will return an empty string. If the user’s input is an empty string, the or operator will evaluate to the default value, «Max».
    • The result of the input() function call, or the default value «Max» is stored in the name variable.
    • A personalized greeting is printed, using the name variable. The + operator is used to concatenate the string values, creating a single string to be printed.

    Conclusion

    To summarize, receiving a string from a user in Python is a simple task that can be accomplished by making use of the readily available «input()» method. Regardless of whether you need to collect a string or a numerical value, it is effortless to convert the input into a suitable data type and save it in a variable for future reference.

    The «input()» method is a convenient tool for obtaining information from a user and storing it for later use in your code.

    Источник

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

    Источник

    Читайте также:  Eval input in python
Оцените статью