Simple Input

Remember the traditional program flow:

Input -> Processing -> Output

Input is defined in this context as data the user gives to the program. The program then uses that data in some way - manipulates it or just stores it in memory. Finally the program creates output. A program without output would be downright boring.

Picture a program that asks a user for his or her name and responds appropriately:

(in this example, the user input is italicized)

What is your name?


Hello, Michael! Have a good day.

The first line is called the prompt - some output that elicits user input. The user inputs his name which is stored in the computer's memory. Finally the program uses that input in an output line.

Here's a short program to achieve this goal:

name=input("What is your name?")

print("Hello, %s! Have a good day." % name)

Points to note:

name is a variable. You know that because it is on the left side of the equal sign.

input() produces a value. You know that because it's on the right side of the equal sign. Actually it "returns" a value.

name's type is str or String. The input() function always gives you strings, even if you input numbers. Try this one to see the error it produces.

age=input("What is your age?")

print("In 5 years you'll be %i years old." % age+5 )

It says that %i is for ints but you seem to want a string there. Go ahead and change the %i to a %s and see the familiar error message.

In this case you'll need a cast.

Next Post: Dealing With Input as a String

Recent Posts