@extends('template') @section('title') Lab 5 @stop @section('head') @stop @section('content') # Lab 5: Loops {{-- ## [Solutions](/content/labs/lab05/solutions/) --}} {{-- ## [Worksheet solns](https://docs.google.com/document/d/1th9fUY_8kXomeyns4M0gPfdJDPCS1Z5y9DTmSgUHgRw/edit?usp=sharing) --}}
A simple diagram of the flow of a loop | |
A more engaging example of a loop in action | [From the Pixar short: Bao] |
not
, and
then combine them using and
. For example, if you want to
stop a loop when either 5 turns have passed or the user guesses
correct, you could write: while turns < 5 and guess !=
answer: ...
That condition would become False (stopping the
loop) as soon as turns
became 5, or as soon as the guess
was equal to the answer, whichever happened first.
return
inside a loop, and why might
you want to do that?*
return
inside a loop, the current
function ends, which also exits the loop. You can use this to your
advantage to end the loop early if you are looking for something and you
find it (for example, does a string contain a certain letter: after you see
that letter, you don't need to continue the loop; you can immediately
return True). However, you have to be careful: in some cases, you need to
process or check each item in your sequence, and an early return would
prevent this (for example, finding how many copies of a certain letter
a string contains; in this case, we need to check each letter, and cannot
return early).
for x in 'abc':
, x
is your loop variable.
In each iteration of the loop, the loop variable takes the next value from
the sequence that the loop is iterating over (in this example, the letters
of the string 'abc'
).