Peter, why did you reject the lovely first one (which needs only a bit of work on the indentation) for the well, shall we say, “complicated”, second??

The second, for one thing, uses the ‘while - else’ construction, something you will rarely see. Under what condition do you want to see “NO DICE”?

Follow the code with lst = [4, 8, 11]

Grab the first number from the list. if it is even, pop lst[0]. Now lst = [8, 11]

Now, lst[0] is 8, so the next block

```
while lst[0] % 2 == 0: # This condition is true since lst[0] is 8
return lst
```

executes, returning **lst**, or [8, 11].

Remember that **return** returns the desired value and then *halts the function*.

… and what is the **for** loop supposed to accomplish?