Bird
Raised Fist0
Pythonprogramming~5 mins

Taking input using input() in Python

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Introduction

We use input() to get information from the person using the program. It helps the program to ask questions and get answers.

When you want to ask the user for their name.
When you need the user to enter a number to calculate something.
When you want to get a choice from the user, like yes or no.
When you want to make the program interactive by asking questions.
When you want to get any text or data typed by the user.
Syntax
Python
variable = input(prompt)

prompt is the message shown to the user to explain what to type.

The input() function always returns text (a string).

Examples
Ask the user to type their name and save it in name.
Python
name = input("Enter your name: ")
Ask the user for their age as text. You may need to convert it to a number later.
Python
age = input("Enter your age: ")
Ask the user to type something without showing a message.
Python
color = input()
Sample Program

This program asks the user for their name and age, then says hello using the information.

Python
name = input("What is your name? ")
age = input("How old are you? ")
print(f"Hello, {name}! You are {age} years old.")
OutputSuccess
Important Notes

Remember, input() always gives text. To use numbers, convert with int() or float().

If you forget to add a prompt, the program will wait silently for input.

Summary

input() lets your program talk to the user and get answers.

Always use a prompt to help the user know what to type.

Input is text, so convert it if you need numbers.

Practice

(1/5)
1. What does the input() function do in Python?
easy
A. It stops the program immediately.
B. It prints text on the screen.
C. It asks the user to type something and returns it as text.
D. It converts text to numbers automatically.

Solution

  1. Step 1: Understand the purpose of input()

    The input() function waits for the user to type something and press Enter.
  2. Step 2: Identify what input() returns

    It always returns the typed data as a string (text), not numbers or other types.
  3. Final Answer:

    It asks the user to type something and returns it as text. -> Option C
  4. Quick Check:

    input() returns text [OK]
Hint: Remember: input() always returns text, never numbers directly [OK]
Common Mistakes:
  • Thinking input() prints text
  • Assuming input() stops the program
  • Believing input() converts text to numbers automatically
2. Which of the following is the correct way to ask the user for their name using input()?
easy
A. name = input Enter your name:
B. name = input('Enter your name: ')
C. name = input['Enter your name:']
D. name = input{Enter your name:}

Solution

  1. Step 1: Check the syntax of input() with prompt

    The prompt must be inside parentheses and quotes, like input('prompt').
  2. Step 2: Identify the correct option

    Only name = input('Enter your name: ') uses parentheses and quotes correctly to show the prompt.
  3. Final Answer:

    name = input('Enter your name: ') -> Option B
  4. Quick Check:

    Prompt text inside parentheses and quotes [OK]
Hint: Use parentheses and quotes for prompt text in input() [OK]
Common Mistakes:
  • Missing parentheses around prompt
  • Using brackets or braces instead of parentheses
  • Not putting prompt text inside quotes
3. What will be the output of this code if the user types 25 when asked?
age = input('Enter your age: ')
print(age + 5)
medium
A. 30
B. 255
C. 5
D. TypeError

Solution

  1. Step 1: Understand input() returns a string

    The variable age will be the string '25', not the number 25.
  2. Step 2: Analyze the print statement

    age + 5 attempts to add a string and an integer. In Python, this causes a TypeError, but if the code was print(age + '5'), it would concatenate to '255'. Since the code is print(age + 5), it raises a TypeError.
  3. Final Answer:

    TypeError -> Option D
  4. Quick Check:

    String + int causes TypeError [OK]
Hint: input() returns text; convert to int before adding numbers [OK]
Common Mistakes:
  • Assuming input() returns number
  • Trying to add int to string without conversion
  • Expecting automatic type conversion
4. Find the error in this code snippet:
number = input('Enter a number: ')
result = number * 2
print(result)
medium
A. number is a string, multiplying repeats text instead of doubling number
B. input() should be replaced with print()
C. Missing parentheses in print statement
D. No error, code works fine

Solution

  1. Step 1: Identify the type of number

    The input() function returns a string, so number is text.
  2. Step 2: Understand what number * 2 does for strings

    Multiplying a string by 2 repeats it twice, so if user types '3', result is '33', not 6.
  3. Final Answer:

    number is a string, multiplying repeats text instead of doubling number -> Option A
  4. Quick Check:

    String * 2 repeats text, not math multiply [OK]
Hint: Convert input to int before math operations [OK]
Common Mistakes:
  • Assuming input returns number
  • Expecting string * 2 to double value
  • Ignoring type conversion
5. You want to ask the user for two numbers and print their sum. Which code correctly does this?
hard
A. a = int(input('First number: ')) b = int(input('Second number: ')) print(a + b)
B. a = input('First number: ') b = input('Second number: ') print(a + b)
C. a = input('First number: ') b = input('Second number: ') print(int(a) + b)
D. a = input('First number: ') b = int(input('Second number: ')) print(a + b)

Solution

  1. Step 1: Convert inputs to numbers

    To add numbers, convert both inputs from strings to integers using int().
  2. Step 2: Add the converted numbers

    Only a = int(input('First number: ')) b = int(input('Second number: ')) print(a + b) converts both inputs before adding, so it sums correctly.
  3. Final Answer:

    a = int(input('First number: ')) b = int(input('Second number: ')) print(a + b) -> Option A
  4. Quick Check:

    Convert both inputs to int before adding [OK]
Hint: Convert all inputs to int before math [OK]
Common Mistakes:
  • Adding strings instead of numbers
  • Converting only one input
  • Forgetting to convert inputs