sadnesh bhamare
2 years ago
Sadneshcountry asked

When should we use a for loop, a while loop, and a while True loop?

Kelish Rai
Expert
2 years ago
Kelish Rai answered

Deciding between a for loop, a while loop, and a while True loop mostly depends on whether you know when the loop should stop.

An easy way to think about it is:

1. If you know ahead of time how many times the loop should run (like looping through numbers from 1 to 10), a for loop is usually the better choice. For example,

for i in range(5):
    print("Hello", i)

This will print "Hello" five times. You clearly know it runs 5 times.

2. If you don’t know exactly how many times the loop should run and you're waiting for a certain condition to be met (like user input), a while loop makes more sense.

number = int(input("Enter a number (0 to stop): "))

while number != 0:
    print("You entered:", number)
    number = int(input("Enter a number (0 to stop): "))

Here, you keep asking for input until the user enters 0. You don’t know how many times that will be, so while is a better fit.

3. while True is a special case used when you want an infinite loop that stops only when a condition inside the loop tells it to break. It’s powerful but should be used carefully.

while True:
    command = input("Type 'exit' to stop: ")
    if command == 'exit':
        break
    print("You typed:", command)

Here, the loop keeps running no matter what until the user types "exit". It’s flexible, but if you forget the break or the condition is wrong, the loop may never stop.

Python
This question was asked as part of the Getting started with Python course.