Many programming languages support user input to interact with the user. In Python, programmers can implement user input concepts to ask the user for input. Many programmers use a dialog box, a method of requesting the user to insert some input, using Python.
Python provides users with two built-in functions to read the input inserted by the end users. The input() and the raw_input() function helps programmers to do so. This article will highlight all the points regarding how to get users input using Python.
What is Users Input in programming?
Input, as we all know, is the data or information we give to the computer to process and execute. Similarly, in many programming languages, programmers can create programs that take inputs from the end-users.
When programmers need to communicate with end-users to collect information or produce results, they use user input techniques in Python. In-built functions like input() and raw_input() store the data when inserts the data.
input() function:
Using this function, programmers can take input from the end-user and converts the input into a string. It will return the object always in the type <type 'str'> and does not evaluate the expression in parts.
The input() function only returns the entire statement of the input in a String format. When programmers call the input() function, it stops the program and waits for the end-user to enter data or information.
After inserting the data and pressing enter, the program restarts and returns what the end-user typed.
Syntax:
enter_input = input('The statement')
Code Snippet:
a=input("Here, you enter your name:")
print("Your name is:",a)
Output:
Explanation:
Here, we have done nothing more than use just the input() function to get the user name. Then, we used the variable "a" that stores the data, and the print function displays the data on the console.
Taking number and string as the input
Code Snippet:
a=input("Your favorite number: ")
print(a)
b=input("Insert the name of your school: ")
print(b)
print("The type of the number inserted is: ",type(a))
print("The type of the name inserted is: ",type(b))
Output:
Explanation:
By default, the input() function will convert the input inserted into a string. Thus, in the above example, we can see; as end-users enter the data as a number, it returns the input type as a string.
Getting float input from users
Code Snippet:
a = float(input("You must insert a random floating number as an input: "))
print(a)
Output:
Else it will return an error showing the message when end-users try to give input other than a float:
Similarly, if programmers use the int() module, it will only accept integer values and return the error message for other input users enter
Code Snippet:
a = int(input("You must insert a random integer number as an input: "))
print(a)
Output:
raw_input() function:
It is another in-built function in Python that helps end-users to give input. Programmers can get the data of the end-users. But only the older version of Python, i.e., Python 2.x version, supports this in-built function.
The function accepts only those inputs that end-users enter using their keyboard, converts them to string, and then stores the given input to a variable in the data type programmers refer to in their respective programs.
Syntax:
enter_input = raw_input('The statement')
Code Snippet:
g = input("Insert the name of your pet: ")
print (g)
Output:
Explanation:
The raw_input() function works similarly to the input() function and accepts input from the end users.
Example 2:
a=raw_input("Insert your name: ")
print(type(a))
print(a)
b=raw_input("Insert any integer number: ")
print(type(b))
b=int(b)
print(type(b))
print(b)
Output:
Explanation:
In the above example, we mentioned two different variables with different data types: integer and float. We explicitly initialized the input types. So the print() function returns the exact type.
How do programmers ensure that the end-users enter valid information?
Often, end-users enter the wrong or invalid input, which raises situations like an interruption or error message. Thus to minimize the interruption, programmers found the easiest way to handle all the possible errors while end-users enter the data is error handling methods for arising interruptions while reading input.
Code Snippet:
a=input("Insert an even number of your choice: ")
try:
b=int(a)
print("You have entered a valid even number! Great! Your even number is: ",b)
except ValueError:
print("You have not entered a valid even number! Please enter a number which is even, else you will get an error message every time you go wrong!!")
Output:
Else and exception takes place:
Explanation:
In this code snippet, we used the error handling statement try except. Similar to if else, this error handling technique checks whether the data fit and returns an error based on the input given.
If end-users insert the data as an integer represented as a string, then the int() function will automatically convert the data into an integer. But if end-users do not pass the valid data, the try except statement will raise an exception.
But instead of crashing the program or returning an error message, the exception will jump to the except block and execute the second print statement.
Conclusion:
We hope this article has given a crisp idea of how to get end-user input in Python using the two in-built functions, i.e., input() and raw_input(). Also, we have highlighted the exceptional case that arises when end-users insert the wrong or invalid data with its solution.