Input and Output in Python
Written and reviewed by Gagan Bhardwaj · Senior IT Faculty · 15+ years’ experience
Input and Output
Programs talk to the user in two ways: output (showing results with print()) and input (reading data with input()). Together they make a program interactive.
Output with print()
You already know print(). It can print text, variables, and several items separated by commas.
name = "Aman"
print("Hello", name, "welcome!")Input with input()
input() pauses the program and waits for the user to type. It always returns a string — convert it with int() or float() for numbers.
input() gives text. "5" + "3" becomes "53", not 8. Always convert before doing maths.
Program 1: Greet the User
name = input("What is your name? ")
print("Nice to meet you,", name)input("What is your name? ") shows the prompt and stores the typed text in name.
Program 2: Sum of Two Numbers
a = int(input("First number : "))
b = int(input("Second number: "))
total = a + b
print("Sum =", total)int(input(...))reads text and converts to integer in one step.- Without
int(),a + bwould join the strings instead of adding.
Program 3: Simple Interest
p = float(input("Principal: "))
r = float(input("Rate %: "))
t = float(input("Time (years): "))
si = (p * r * t) / 100
print("Simple Interest =", si)We use float() here because rate and time can have decimals.
f-strings (Modern Formatting)
The cleanest way to mix text and variables is an f-string — put f before the quote and variables inside { }.
name = "Aman"
marks = 95
print(f"{name} scored {marks} marks")Common Mistakes
- Forgetting to convert
input()withint()/float(). - Adding two inputs and getting joined text instead of a sum.
- Missing the space at the end of the prompt text.
Practice Tasks
- Ask the user's age and print the year they were born.
- Read three subject marks and print the total and average.
- Ask for a temperature in Celsius and print it in Fahrenheit.
Summary
print()shows output;input()reads input.input()always returns a string — convert for maths.- f-strings (
f"{var}") are the cleanest way to format output.