Topics

Python Input and Output

Welcome to another tutorial, here you will learn more about input and output in Python. When you look at most real-world programs or software, you will realize that they require input from the user. for example, in our smartphone applications, such as Instagram, or Facebook, you need to input your email/username and password to log in; also in ticket booking software, you have to first specify the bus/train name; and so on.

Software is a bundle of programs, that interact together to perform a task or solve a problem, that makes life enjoyably easier. For the software to perform any task or solve a problem, it must know the parameter of the task or problem. So, at this point, the program takes input from the user. Thereafter, the program must process the inputs and then returns some result, so this is where the output comes in.

 

Taking Input from user

In the out first tutorial, you can remember that a code snippet was used to show how short and convenient python syntax can be compared to other programming languages. So, we went ahead to compare python code to that of C++ and Java. If you can recall that both the C++ and Java programs needed more header files (which is similar to modules in Python) to get the user's input; but in Python, we need just one line for the code.

Now suppose we want to make a simple calculator in python. To do a program, we have to take one or two input values from the user, then perform the mathematical operation requested by the user on the input numbers and return the output. for the sake of simplicity, we will set the user's requested mathematical operation as addition first. 

More so, more operations can be added to our simple calculator afterward, but, for now, we will begin with addition. Now, for us to perform addition, we have to take two numbers as input from the user (just like the normal calculator), and the inputs must be assigned to or stored in variables (e.g. x and y) check out the example below:

>>> x = input()

 

From the example above, after writing the code and then pressing the enter key, you will observe that the cursor will not move to the new line ‘>>>’, instead it will wait for the user input. At this point, if any number is entered from the keyboard, then you press enter, you notice the newline with >>>.

So, by using the input() function ( an inbuilt function) you just stored a value in the variable x. To make it more interesting, check out the example below:

>>> x = input("Enter the first number:")

 

From the program above, it is noticed that the next line will print the message: "Enter the first number:" and then wait for the user's input. Although, you know, printing a message like that will inform the user that they should enter a value/input for the program to proceed. Take note that a good program should have an intuitive message, like the one in this example.

Then, next, it will ask for the value variable y.

>>> y = input("Enter the second number:")

 

At this stage, let’s have some fun with what we have learned so far. Let’s input variable x or y again, but rather than typing a number let's try typing any alphabet or any string. Once, you press the enter key, Python will throw an error. However, version 3.x raw_input() function is removed and input() is used to take the numeric, string, and so on, all kinds of values.

 

The Output

So, how can the input values be displayed on the screen? Those of that new to programming might think that all we need to do is to type the variable and press the enter key; that is how it is, but it works when you are working on IDLE only.

In addition, when working on real-world python programs you have to write statements that output the strings, or numbers distinctly. To make this possible the print statement is used to do it. Check out the example below:

>>> print ("Hello, World");

 

From the example, while writing the code, do not forget to use a single quote or double quote, as either of them will do. Thereafter, hit the enter key, and the statement will be printed at the bottom. Now, suppose you want to write "Hello, World" and then remove the print statement, this is what you will get:

>>> "Hello, World"

At clear that the line was printed, but with quotes around it. With this, you can differentiate between the two methods. 

Moving on with numbers. Check out the example below:

>>> print (9)

 

Let’s print two strings together, by creating two variables, a and b, then we will assign them two string values:

>>> a = "Hello"
>>> b = "World"

Let’s print both together:

>>> print (a + b);
HelloWorld

 

As shown above, it will appear that way. The example shows how python interprets one single thing in two ways: that is, the + operator was used to join two strings, rather than performing math addition, which is impossible to perform on two strings. This is because, the math addition of two strings does not make any sense, as when python encounters two strings with a + operator in between them, it will join them.

We can do this in another way as well:

>>> print ("Hello" + "World");
HelloWorld

So, let's print a number and string it together.

>>> print (5 + " is a number");

 

At this point, we will get an error. Do you know why? It is because we attempted to join an integer with a string. To avoid this, follow up with the rule below:

"While printing you should not mix up two literals of different types."

So the solution to the problem above is to convert the number 5 into a string? Check out the example below:

>>> print ("5" + " is a number")

Or

>>> print (str(5)+ " is a number");

The str() function is a built-in function that can be used to convert an integer into a string. The function is very useful while dealing with the conversion of numeral variable (that is, variable made up of numbers), into the string. This is shown below:

>>> x = 1
>>> print (str(x)+ "st rule of Fight Club we don't talk about Fight Club");
1st rule of Fight Club we don't talk about Fight Club

 

Now, let’s complete our calculator program with the addition function:

>>> x = input("Enter the first number")
>>> y = input("Enter the second number")

Finally, it is time for the output.

>>> print (x+y);

Or 

>>> print (str(x+y));

 

The two will eventually give the same output. Although the result of x+y will be a number, the result of str(x+y) will be a string.