When statement vs infinite loop

why dose tynker teach this which is very inefficient

as apposed to this which is much more efficent
i tried out both and the one on the bottom gives better

can somebody explain this to me?

We prefer teaching kids event driven programming vs using forever loops because the code tends to be shorter and more readable. However, we do have several DIYs in which we use one large event loop. Both are acceptable.