Loops are blocks of code that keep repeating the same instructions until a certain condition is met. We also use loops to access the different items in a given sequence and iterate them over the sequence. Loops are a fundamental concept in any programming language. Repetitive tasks are common in programming, so loops help save time and reduce errors.
Share this step
Loops are blocks of code that keep repeating the same instructions until a certain condition is met. We also use loops to access the different items in a given sequence and iterate them over the sequence. Loops are a fundamental concept in any programming language. Repetitive tasks are common in programming, so loops help save time and reduce errors.
Now, let’s look more closely at for and while loops.
For loops
If you were to write a program to check the grades of a class with 50 students, you may want to use a loop to perform a ‘check grade’ task that stops looping when it reaches the end of the class list (i.e. the 50th student).
A for loop is mostly used for iterating over lists. In order to access a list item we call it by index. But what if we don’t know the index of some item or we don’t know how long the list is? This is where the for loop comes to the rescue:
For the first iteration, the variable i will have the value ‘bread’; for the next iteration, the value for the same variable will change to ‘milk’, and then to ‘cereals’, and so on and so forth.
The for loop goes through every item in a list (i.e. iterates the list) and performs some operation (usually for every item in that list). The i is simply the iterator. By convention, i, k, and n are typical iterator names, but you can call them whatever you want.
For example, we can write:
foritemsinshopping_list:print(items)
Output:
bread
milk
cereals
donuts
snacks
The program will work exactly the same and will generate the same output, no matter what you call the iterator.
While loops
A while loop is mostly used for iterating as long as the test expression or the condition is True. It is useful when you need to repeat a piece of code, without knowing the number of repetitions needed ahead of time. You might need to repeat some code until you receive specific user input, for example:
If you were to check the grades of students in a class but did not know how many students there were, you could use while to specify when it should stop looping – for example, specifying a condition that would no longer be met once the end of the loop is reached, such as ‘while there is a record for the student’s grade.’ Once it reaches the end of the list of grades, this condition would no longer be true and the loop would stop.
The syntax for a while loop is:
whiletest_conditionstatement(s)
As with other code structures with code blocks, notice the indentation before statement(s): it is important as it indicates the body of the loop. Here, test_condition is a Boolean expression. If the condition is True, the body of the while loop is executed. This, unlike the simple if statement, continues in a loop until the statement is False.
Here is a code example for you to try:
counter=0whilecounter<3:counter+=1print(counter)
Output:
1
2
3
This program is printing numbers from one to three. First, we declare a variable: an integer that has a value of zero. Then, we use a while loop with a condition that says ‘while the counter is less than three, do the following’. Inside the while loop, we increase the counter by one in each iteration and print its value. Once the counter is increased to three (which returns False, since it won’t be less than three anymore), our loop stops.
Essentially, to implement the while loop, give it a condition and put statements inside it, which will repeat as long as the given condition is True.
Apply your learning
Write a Python program that will serve as a basic to-do list. You should allow the user to:
input their tasks one by one
display the complete list if the user submits nothing (empty).