When do we use a for-loop and when a while-loop?

In general, a for-loop is used when the number of iterations is predefined, and a while-loop is used when the number of iterations is not known in advance. When a for-loop is used, a while-loop can also be used. In this case, we usually prefer using a for-loop, due to the simplicity of its syntax. One example where both types can be used is shown below.

Write a short program to print the numbers 1 to 10.
For-loop:
for i in range(1,10): print(i) While-loop:
i = 1 while (i <= 10): print(i) i += 1
However, this does not work the other way around. Here is an example, where only a while-loop can be used.

Write a short program to calculate the sum of the numbers that the user enters. The program terminates when the user enters a negative number.
While-loop:
message = “Please enter a number!” x = input(message) sum = 0 while(x >= 0): sum += x x = input(message)
There is no way that the above example can be implemented using a for-loop as we don’t know how many numbers the user will enter before entering a negative number. On top of that, every time that the program is executed a different amount of numbers will be entered depending on the situation.

EM

Related Python Mentoring answers

All answers ▸

Write a Python script to take a product name as input and then automatically google search reviews for it and open the top 3 search results in different tabs


Implement a fibonacci function which calculates the nth number of the fibonacci sequence.


Explain how you would write a python program that takes a rectangle and a point in a 2D space as command-line arguments and checks if they intersect.


What are the main data structures that I can use in Python