Your Program Is Listening
The problem...
So far, your program only does what you hardcode.
The name is always "Bull". The age is always 25.
That's not a real program. That's a script that talks to itself.
The idea!
Real programs take input from the user.
You type something. The program uses it.
That's the difference between static code and something alive.
Making it real
When I was in the army, I learned that a command without a response is just noise. You give an order, you wait for confirmation. No response — nothing moves forward.
Python's input() works the same way. Your program speaks, then stops and listens.
name = input("What is your name? ")
print("Hello", name)
What happens?
- The program stops and waits
- You type something and press Enter
- The program uses what you typed
Output → Hello Bull — if you typed "Bull"
In practice
name = input("Enter your name: ")
age = input("Enter your age: ")
print(f"Hi {name}, you are {age} years old.")
The program waits for each input before moving on.
Important — input() always returns a string
Even if you type a number, Python treats it as text.
age = input("Enter your age: ")
print(type(age))
Output → <class 'str'>
If you need a number, you have to convert it.
age = int(input("Enter your age: "))
print(type(age))
Output → <class 'int'>
Going further
name = input("Enter your name: ")
year = int(input("Enter the current year: "))
birth = int(input("Enter your birth year: "))
age = year - birth
print(f"{name} is approximately {age} years old.")
Your program takes data, works with it, and gives back a result.
That's a real program.
What's really happening
Every time you use input(), your program pauses and listens.
What the user types becomes a value. You label it. You use it.
Everything you've learned so far — variables, types, strings — comes together here.
Heads up!
input()always returns a string — convert it if you need a number- The text inside
input("...")is the prompt — make it clear so the user knows what to type - If the user types something unexpected, your program might break — that's normal for now
The mindset shift
Stop thinking: "My program runs and that's it."
Start thinking: "My program can listen, react, and respond."
What you should understand now
input()pauses the program and waits for the user- It always returns a string
- Use
int()orfloat()to convert if you need a number - Input makes your program dynamic — not just a script