10.2. Introducing the While Loop¶
Recall that a
for loop is designed to repeat steps for every value in a list. The
function in the code below is designed to generate a list that looks like [0, 1, 2, 3, 4] and
thus causes the loop to repeat 5 times. By forcing us to provide that list of values, the
loop requires us to specify the number of iterations there will be before we begin looping.
for iteration in range(5):
guess = 1/2 * ((number / guess) + guess)
However, there is another way to repeat statements: the
while loop. It will repeat the
body of the loop as long as some logical expression is true. Just like with a for loop,
the body of a while loop is the lines of code after
while that are indented. A logical
expression is one that is either true or false like
x < 5. (We will talk more about them
While loops are typically used when you don’t know how many times to execute the loop. they
allow us to say “keep repeating this while we don’t have an answer”. One reason we might not
know in advance how many times to repeat is if we are getting input from outside the program.
The code below will keep asking you to enter numbers. It will do so until you enter a number
that isn’t negative. It will print out the sum and average of all of the numbers you have entered.
The loop in this sample takes your input, which is stored in
value as a string like “12”, and
turns that into an integer like 12. It checks to see if that value is greater than 0. If so, it
does the loop body, if not, we skip over the loop body and continue with the rest of the program.