python-course.eu

15. Keyboard Input

By Bernd Klein. Last modified: 29 Jun 2022.

The input Function

There are hardly any programs without any input. Input can come in various ways, for example, from a database, another computer, mouse clicks and movements or from the internet. Yet, in most cases the input stems from the keyboard. For this purpose, Python provides the function input(). input has an optional parameter, which is the prompt string.

If the input function is called, the program flow will be stopped until the user has given an input and has ended the input with the return key. The text of the optional parameter, i.e. the prompt, will be printed on the screen.

Input via keyboard

The input of the user will be returned as a string without any changes. If this raw input has to be transformed into another data type needed by the algorithm, we can use either a casting function or the eval function.

Let's have a look at the following example:

name = input("What's your name? ")
print("Nice to meet you " + name + "!")

OUTPUT:

What's your name? Melisa
Nice to meet you Melisa!
age = input("Your age? ")
print("So, you are already " + age + " years old, " + name + "!")

OUTPUT:

Your age? 26
So, you are already 26 years old, Melisa!

We save the program as "input_test.py" and run it:

 $ python input_test.py 
What's your name? "Frank"
Nice to meet you Frank!
Your age? 42
So, you are already 42 years old, Frank! 

We will further experiment with the input function in the following interactive Python session:

cities_canada = input("Largest cities in Canada: ")
print(cities_canada, type(cities_canada))

OUTPUT:

Largest cities in Canada: Toronto, Calgary, Montreal, Ottawa
Toronto, Calgary, Montreal, Ottawa <class 'str'>
cities_canada = eval(input("Largest cities in Canada: "))
print(cities_canada, type(cities_canada)) 

OUTPUT:

Largest cities in Canada: Toronto, Calgary, Montreal, Ottawa
population = input("Population of Toronto? ")
print(population, type(population))

OUTPUT:

Population of Toronto? 2615069
2615069 <class 'str'>
population = int(input("Population of Toronto? "))
print(population, type(population))

OUTPUT:

Population of Toronto? 2615069
2615069 <class 'int'>

Live Python training

instructor-led training course

Enjoying this page? We offer live Python training courses covering the content of this site.

Overview of Python training courses

Machine Learning with Python training courses

Differences between Python2 and Python3

The usage of input or better the implicit evaluation of the input has often lead to serious programming mistakes in the earlier Python versions, i.e. 2.x Therefore, in Python 3 the input function behaves like the raw_input function from Python2.

The changes between the versions are illustrated in the following diagram:

Differences between input, raw_input and the Python versions

Live Python training

instructor-led training course

Enjoying this page? We offer live Python training courses covering the content of this site.

Upcoming online Courses

Python Course for Beginners

24 Feb 2025 to 28 Feb 2025
31 Mar 2025 to 04 Apr 2025
07 Apr 2025 to 11 Apr 2025
19 May 2025 to 23 May 2025
02 Jun 2025 to 06 Jun 2025
30 Jun 2025 to 04 Jul 2025
11 Aug 2025 to 15 Aug 2025

Python Intensive Course

10 Mar 2025 to 14 Mar 2025
07 Apr 2025 to 11 Apr 2025
23 Jun 2025 to 27 Jun 2025
28 Jul 2025 to 01 Aug 2025

Efficient Data Analysis with Pandas

10 Mar 2025 to 11 Mar 2025
07 Apr 2025 to 08 Apr 2025
02 Jun 2025 to 03 Jun 2025
23 Jun 2025 to 24 Jun 2025
28 Jul 2025 to 29 Jul 2025

Machine Learning from Data Preparation to Deep Learning

10 Mar 2025 to 14 Mar 2025
07 Apr 2025 to 11 Apr 2025
02 Jun 2025 to 06 Jun 2025
28 Jul 2025 to 01 Aug 2025

Overview of Python training courses

Machine Learning with Python training courses