Teaching Python to Repeat Until Something Changes
For loops are polite.
You tell them exactly how many times to repeat, and they do it.
Five times? Five times.
No more. No less.
While loops are different.
They don’t care about numbers.
They care about conditions.
A while loop says:
“As long as this is true… keep going.”
And that’s powerful.
But it comes with responsibility.
The Basic Idea of a While Loop
A while loop repeats code while a condition remains true.
Here’s the simplest example:
count = 0
while count < 5:
print("Hello!")
count += 1
Run it, and you’ll see:
Hello!
Hello!
Hello!
Hello!
Hello!
Just like a for loop but the thinking is different.
Reading a While Loop Like a Human
Read this line slowly:
while count < 5:
It means:
“While
countis less than 5, keep running the code below.”
Each time the loop finishes one round, Python:
Goes back to the
whileChecks the condition again
Decides whether to continue or stop
That check happens every time.
The Most Important Rule of While Loops
Something inside the loop must change the condition.
If nothing changes, the loop never ends.
This is the classic beginner mistake:
count = 0
while count < 5:
print("Hello!")
What happens?
count stays 0 forever.count < 5 is always true.
Python keeps looping.
Forever.
This is called an infinite loop.
Python isn’t broken.
It’s just doing exactly what you asked.
How to Stop a While Loop Properly
You usually stop a while loop by updating a variable.
count = 1
while count <= 5:
print(count)
count += 1
Output:
1
2
3
4
5
The loop ends naturally when the condition becomes false.
That’s the goal.
While Loops Shine with User Input
This is where while loops really earn their place.
Example: keep asking until the user types “yes”.
answer = ""
while answer != "yes":
answer = input("Type 'yes' to continue: ").lower()
Python keeps asking.
The moment the user types yes, the condition becomes false and the loop ends.
This is something for loops can’t do easily.
A Friendly Example
Let’s build a tiny guessing loop:
guess = ""
while guess != "python":
guess = input("Guess the secret word: ").lower()
print("You got it!")
Python keeps looping until the correct word is entered.
Simple.
Clear.
Very useful.
While vs For (When to Use Which)
Here’s the beginner rule of thumb:
Use a for loop when:
You know how many times to repeat
You’re counting
You’re looping over a fixed range
Use a while loop when:
You don’t know how many times it will run
You’re waiting for something to change
User input controls the loop
Neither is better.
They just solve different problems.
A Quick Safety Reminder
If your program:
Freezes
Spams output endlessly
Never stops
You probably wrote a while-loop where the condition never changes.
That’s not a failure.
That’s a rite of passage.
Just stop the program and fix the logic.
What You’ve Learned
You now know:
What a while-loop is
How it checks conditions
Why infinite loops happen
How to stop loops safely
When while-loops are the right tool
This is serious looping power.
Mini Quiz
Try these:
What does a while-loop repeat based on?
What causes an infinite loop?
What must always happen inside a while-loop?
Which loop is better when waiting for user input?
What will this code print?
x = 3
while x > 0:
print(x)
x -= 1
Coming Up Next
Now that Python can repeat things…
sometimes you want it to stop early
or skip a turn.
That’s where control comes in.