How to take input in Python?
1. Using input() Function
The input() function reads a line of text entered by the user and returns it as a string.
Syntax:
variable = input(prompt)
prompt: An optional string displayed to the user as a message before input.variable: The variable where the input value is stored.
2. Example: Basic Input
name = input("Enter your name: ")
print(f"Hello, {name}!")
Explanation:
- The prompt
"Enter your name: "is displayed. - The user types their name and presses Enter.
- The input is stored as a string in the variable
name. - The program prints a greeting using the entered name.
3. Handling Numeric Input
Since input() returns a string, you need to convert the input into the desired data type (e.g., int or float) if you want to handle numbers.
Example: Taking Integer Input
age = int(input("Enter your age: "))
print(f"You are {age} years old.")
- The
int()function converts the input string into an integer.
Example: Taking Float Input
height = float(input("Enter your height in meters: "))
print(f"Your height is {height} meters.")
- The
float()function converts the input string into a floating-point number.
4. Input Validation
You should validate user input to ensure the program runs without errors if the user enters unexpected data.
Example: Handling Errors with try and except
try:
age = int(input("Enter your age: "))
print(f"You are {age} years old.")
except ValueError:
print("Invalid input! Please enter a number.")
- If the user enters non-numeric data, the program will catch the error and display a friendly message.
5. Taking Multiple Inputs
You can take multiple inputs on the same line or process multiple inputs efficiently.
Example: Multiple Inputs in a Single Line
x, y = input("Enter two numbers separated by space: ").split()
x = int(x)
y = int(y)
print(f"The sum is {x + y}")
- The
split()method separates the input string into parts based on spaces by default.
Example: Using List Comprehension
numbers = [int(x) for x in input("Enter numbers separated by space: ").split()]
print(f"The numbers are: {numbers}")
6. Input Without Prompt
If you don’t provide a prompt, the user can still enter data, but the program won’t display any specific message.
Example:
data = input()
print(f"You entered: {data}")
7. Advanced Techniques
- Default Values: Provide default values if the user enters nothing.
data = input("Enter something (or press Enter to skip): ") or "default"
print(f"You entered: {data}")
- Stripping Extra Whitespace: Remove leading/trailing whitespace using
.strip().
data = input("Enter something: ").strip()
print(f"You entered: {data}")
Summary
- Use
input()to read data from the user. - Convert the input to other types using
int(),float(), etc., when needed. - Validate user input and handle any unwanted entries.
- Use advanced techniques such as splitting or stripping to make it usable.