The core value of software is to produce useful output. One simple type of output is a text display of some useful result. Python supports this with the print() function.
The input() function has a clear parallel with the print() function. The input() function reads text from a console, allowing us to provide distinct values to our programs.
There are a number of other common ways to provide input. Parsing the command-line is also helpful for many applications. We sometimes need to use configuration files to provide useful input. Data files and network connections are yet more ways to provide input. Each of these is distinct and needs to be looked at separately. In this chapter, we'll focus on the fundamentals of input() and print().