bugl
bugl
HomeLearnPatternsPathsSearch
HomeLearnPatternsPathsSearch

Loading lesson path

Learn/Python/Foundations
Python•Foundations

Python User Input

Flash cards

Review the key moves

1/4
Core idea

What is the main idea behind Python User Input?

Lesson checks

Practice each idea before moving on

Short Mimo-style checks built from this lesson's code, terms, and sequence.

1Quick choice

Which statement best captures the main point of this lesson?

2Fill blank

Complete the missing token from the example code.

___("Enter your name:")
3Order

Put the learning moves in the order that makes the concept easiest to apply.

The following example asks for your name, and when you enter a name, it gets printed on the screen:
That means we are able to ask the user for input.
Python allows for user input.

User Input

Python allows for user input.

That means we are able to ask the user for input.

The following example asks for your name, and when you enter a name, it gets printed on the screen:

Ask for user input

print("Enter your name:")
name = input()
print(f"Hello {name}")

Python stops executing when it comes to the input() function, and continues when the user has given some input.

Using prompt

In the example above, the user had to input their name on a new line. The Python input() function has a prompt parameter, which acts as a message you can put in front of the user input, on the same line:

Example

Add a message in front of the user input:

name = input("Enter your name:")
print(f"Hello {name}")

Multiple Inputs

You can add as many inputs as you want, Python will stop executing at each of them, waiting for user input:

Multiple inputs

name = input("Enter your name:")
print(f"Hello {name}")
fav1 = input("What is your favorite animal:")
fav2 = input("What is your favorite color:")
fav3 = input("What is your favorite number:")
print(f"Do you want a {fav2} {fav1} with {fav3} legs?")

Input Number

The input from the user is treated as a string. Even if, in the example above, you can input a number, the Python interpreter will still treat it as a string.

You can convert the input into a number with the float() function:

Example

To find the square root, the input has to be converted into a number:

x = input("Enter a number:")
#find the square root of the number:
 y = math.sqrt(float(x))
 print(f"The square root of {x} is {y}")

Validate Input

It is a good practice to validate any input from the user. In the example above, an error will occur if the user inputs something other than a number.

To avoid getting an error, we can test the input, and if it is not a number, the user could get a message like "Wrong input, please try again", and allowed to make a new input:

Example

Keep asking until you get a number:

y = True
while y == True:
 x = input("Enter a number:")
 try:
 x = float(x);
 y = False
 except:
 print("Wrong input, please try again.")
 print("Thank you!")

Previous

Python None

Next

Python Virtual Environment