How to Ask for Input Again if Input Is Invalid Python
User input is one of the most used functionalities of various reckoner applications. You volition discover yourself coding user input many times throughout your career. Thus, today'due south tutorial is going to be about Python Input Function.
In this tutorial, I will be roofing multiple topics about user input, such every bit, how to –
- Utilize Python input role.
- Accept integer input from the user in Python
- Take floating values from the user in Python.
Along with all these, you will also be learning, how to type cast a variable from one data blazon to some other.
We will exist using in-built functions of Python libraries to perform all the above-mentioned tasks, then become gear up.
To learn how to take user input, first, let'south understand what is this input function?
The Python Input Part.
The input( ) is an in-built function of Python Library which is used for taking input from the user in Python. This function was known past the name of raw_input earlier in Python two. It was afterward inverse to a much simpler name 'input' in Python 3.
The raw_input function is obsolete in Python 3 which ways, if you are using the latest version of Python so you will non exist able to use it.
The Syntax of Python Input Function
Input has a very uncomplicated syntax like to various other in-congenital functions of Python library. Take a look –
input(prompt)
The Python input function accepts only one parameter and that too is optional. This parameter is prompt. Moreover, the prompt could exist any text or expression which prompts the user for input. Although the parameter prompt is optional but using it is highly recommended.
For best practice always attempt to write an easy to sympathize prompt, such as – "Enter your electronic mail" or "Enter your first name".
How does the Python input function work?
When Python interpreter comes across an input expression, information technology kickoff checks whether at that place is any prompt to brandish or non. Consequently, if the input function call contains a prompt, so the interpreter prints it on the screen afterward checking it for whatever errors.
Once the prompt has been displayed to the user then the interpreter waits for the user to enter the value and press the enter key. After that, the interpreter evaluates the value entered by the user and proceeds alee to execute the adjacent statement. That is how the Python input function works.
What does Python input part return?
The output of the input function is always a string. The input function of Python library takes the information from the user and then it converts it into a string. Subsequently that, y'all can process that cord in whatsoever way y'all want.
In case y'all are not familiar with strings in Python then I suggest you bank check out these suggested readings –
- Single line strings in Python
- Multi-line strings in Python
Where tin can I find input ( ) function in Python architecture?
The Python input( ) part is divers into the builtins module in Python 3 and __builtin__ in Python 2 just similar every other in-built objects, identifiers or methods. You can read more about the builtins module here.
[bctt tweet="The Python input( ) function is defined into the builtins module in Python 3″ username="@RebellionRider"]
Hard manner to use Python input function.
>>import builtins >>#import __builtin__ >>user-inp = builtins.input("Enter some value: ")
Examples of Python Input Function!
Now that I have explained all the details of the input function, it's time to exercise some practical examples.
How to take a "cord input" from the user.
The most common type of input is the string type. Such as username is a cord input so is the password. At present suppose you lot want the user to input his or her name. Therefore code for accepting the name of the user in Python will exist –
f_name = input ("Enter your commencement name:") print("welcome", f_name)
Here we take two statements. Let'southward run into what is happening in these two statements—
Statement 1: In the starting time statement we accept the input role call. The string which is written within the parenthesis ("Enter your first name") is the prompt which volition go displayed on the screen. In the aforementioned statement, we have as well declared a variable f_name.
On execution, the interpreter will accept the input from the user and convert it into the string and and then save it into the variable f_name.
Statement ii: the Second argument is a unproblematic print argument which is displaying back the value stored into the variable f_name.
This statement will aid usa to see if the input function worked as it was desired to be or non?
How to have an "integer input" from the user.
The only brusque coming of the Python input function is that information technology converts the inputted value into a string.
Which ways if a user enters an integer value then the part will convert it into a string. For example
salary = input ("Please enter your salary: ") print(type(age))
Ideally the above code should have an integer value from the user and shop it as an integer into the variable. Only when yous will execute the above code, you will observe out that the variable "age" belongs to a string class instead of an integer. In other words the data type of the variable age is string not the integer.
That is because the input function converts the inputted data into string before storing or processing it further.
Python is a dynamically typed programming linguistic communication. Which means unlike various other high-level programming languages we cannot specify the datatype of the variable while declaring it. In addition the data type of the variable gets decided by the information which is getting stored into it automatically.
Now yous asked, so what if it converts the information into string? For the naked man eyes, it doesn't matter simply for Python engine the data blazon of the variable matters a lot. For instance
Permit's say you want to add a 1000$ bonus to the inputted salary. For that you wrote this code
bacon = input ("Delight enter your salary: ") bonus = salary + g; impress("Your Salary afterwards bonus is: ")
Now if y'all will execute this code y'all volition get a blazon error.
The reason for that error is, in Python, you cannot perform an arithmetic expression between a string and an integer. According to Python Programming norms, an arithmetics operation can only be performed betwixt two uniform information types similar an integer, a float or a real number.
The procedure of converting the data type of an object from i to some other is called typecasting.
Typecasting is the simply solution!
Allow me tell yous that at that place is no manner we can cease Python input part from converting the inputted data to a cord. Information technology is going to do that no matter what!
The only solution is to reconvert the inputted information from string to the intended datatype. To do that we can take help of some of the other in-built functions of Python library.
How to do Type casting?
I must say, in Python Programming, type casting an object is very unproblematic. Python provides us with very simple in-built functions to convert the data type of the object. Three almost commonly used functions for blazon casting of Python libraries are –
- int( )
- bladder ( )
- str ( )
int( ): The int( ) office converts the object of whatsoever data type into an integer.
float ( ): Equally the name suggests, the float ( ) functions catechumen the object of any data blazon into a float.
str ( ): The str ( ) function of Python library blazon casts the object of any data type into a string.
Now that I have explained, what is blazon casting and how to do that. Let's come dorsum to our topic and learn how to accept integer input from the user in Python.
There are ii ways to type cast the inputted value. Y'all tin can type cast the value either
- Before it gets stored into the variable or
- Later it is stored in the variable.
Let'due south larn both these means.
How to take integer input – Typecast afterwards value gets stored
In this approach, we catechumen the datatype of the inputted value after it is stored into the variable. As we want the inputted value to be an integer thus nosotros will apply the in-built function int ( ) of Python library.
bacon = input ("Enter Your Salary: ") bonus = int(salary)+k print("After bonus your bacon is: ", bonus)
Except for the int part phone call in argument two, everything is pretty much the same. In the statement 3, I called the int( ) office and passed the name of the variable "bacon" to its parameter.
On execution, the int( ) office call volition convert the data blazon of the value stored into the variable bacon into the integer.
How to take integer input – Type cast before value gets stored
This is the near common approach for taking an integer input from the user in Python. In this approach, we typecast the value into an integer before it gets stored into the variable. To do that I will call the int( ) function in the first argument. Like this.
salary = int(input ("Enter Your Salary: ")) bonus = salary+1000 print("After bonus your salary is: ", bonus)
To typecast the value into an integer we need to perform a nesting of function. As yous tin can encounter nosotros did the same in the above code. We passed the Python input( ) function as the parameter of the int( ) function.
This contraption of nested function call will convert the data type of the value entered by the user from string to an integer earlier information technology gets saved into the variable.
That is how we take an integer input using Python input function in Python Programming language.
If you are like me who learns faster by watching videos, then bank check out this tutorial on YouTube channel.
How to take float input in Python Programming.
In this section I will speedily show you, how you lot can take a floating value as input using Python input role.
The arroyo volition remain the same, nosotros will merely tweak the type casting. Therefore this time I will type cast the inputted value from string to float instead of integer. To do that we will use the in-congenital office bladder( ) of Python library.
salary = float(input ("Enter Your Salary: ")) bonus = bacon+1000 print("After bonus your bacon is: ", bonus)
On execution of this code, the value which is entered by the user and which is getting stored into the salary variable will be of floating data type.
Info: At any point in whatever
That is it for this tutorial. We have learnt a lot today. In this tutorial I take demonstrated to you how to:
- Take a string, an integer and a floating input using Python input( )
- Type-cast an object, and
- Apply type( ) function and discover out the information type of the object
I remember that's enough for this tutorial. If you lot enjoyed this article, please do share on your social media. Thank you for reading.
Good luck and god speed.
sanderswonsize1972.blogspot.com
Source: http://www.rebellionrider.com/quickly-fix-the-python-input-function/
0 Response to "How to Ask for Input Again if Input Is Invalid Python"
Post a Comment