Intro to While Loops | Computer Programming | Khan Academy


Let’s talk about loops. So I have a while loop here, and with just a few lines of code, I can write this message all the way down the screen. If I go ahead and change the message like this, you know, to make it better all of them change. So how is this working? Well, we can revisit this code in a moment But first let’s take a step back and think about how we might write this program using only what we know so far without using loops. So, to do that, we’re really just gonna write a bunch of text over and over and over again right? We’re gonna say text, message, I’ll put it in the first place, and now it’s just a matter of repeating this enough times so that eventually we get all the way to the bottom. And that’s gonna take a lot of work, right? Because the bottom is really far away. And it’s even worse if you then point out to me, hey, this wasn’t actually 70, it needs to be closer, it needs to be at like 60. And now that affects this one because it also needs to be smaller and all the way on, the more calls of text we have. And in fact, this way it’s gonna take even longer to get to the bottom. So, this is really a pain, and thankfully we have loops to help us From now on, any time you see repetitive code like this, your first thought should be “Could I use a loop?” A loop will let us repeat this piece of code over and over and over again, making just little changes each time. So here’s how we would rewrite this code with a loop. To get started, we need to type “while”, the parentheses, and the curly braces. We’re gonna get this message, but it’s just because we’re not done yet. Don’t worry, it’ll go away when we finish. So every time you write a loop you need to answer three key questions. And here they are: so, the first question is, “What do I want to repeat?” And whatever we want to repeat needs to go in-between these curlies. So we want to repeat the “text” call in this case, so go ahead and put that in here. But it’s a little bit silly, right? Because right now we’re just gonna be repeating the same call of text over and over, which is not really any good right, we need something to be changing. That brings us to question two, which is “What do I want to change each time?” So we want to change this “y” position, right? We want it to become 60 and then we want it to become 80. So we’ll make that into a variable instead. Called y, because it’s the y position. So we’ll go ahead and declare a variable up here. I’ll start it at 40. And now, finally, we just need to be changing y. We can do that down here, we can say “y gets y + “20” and it will be getting bigger every time. And in fact, we can use our lesson from incrementing shortcuts here. We can just go ahead and use the shortcut. So, this is fantastic, and we only need to do question three now, which is “How long should we be repeating this?” Well we want to do this over and over and over again, but we don’t really want to do it forever, right? If we do it forever, first, that’s a really long time to wait, and second, it might even crash your browser. But hopefully not. So really, we only want to do this until we get to the bottom of the page, right? Which means we wanna do it as long as y is less than 400. So we just put that in here, and there we have it! We have this message being written all the way down the screen. And you can see that this is way simpler than our previous approach, which, you know, took us about as long to write, but we weren’t even a quarter of the way finished. So we can get rid of that, and there we have our program. Now, let’s try to get a better understanding of what’s going on. To do that, I’m going to print out y each time. I’m gonna say “y is now” and then down here I’ll just tack y onto the end of the message so we can see it. So at the moment, the value is changing by 20, and we can change that just by changing this variable here. Or you can make it, you know, like, 50. And now, now they’re changing by 50. Similarly, you can go ahead and play with these other values and have them change. And you can see how that affects, you know, where the program stops. So, to understand this, you can think of it sort of like an “if” statement actually. We have our boolean expression in here just like you learned. And then, we do the body of the, um, the statement this part, only if the boolean is true, and otherwise we just jump to the end. But what’s interesting is that with a while loop we actually have this secret thing going on at the bottom which says “go back to the start” “of the loop”. And what this secret instruction means is that instead of leaving and just keeping on going, like with an “if” statement, every time we do the loop body we’re going to go back and check if the condition is still true. And if it is, we’re just going to repeat one more time. And just like you might have guessed, the second time we repeat, we’re gonna do the same thing… we’re gonna check hey, you know, go back to the start. Is y still less than 279? And if it is, we’ll repeat one more time and keep checking. And if it’s not, we go back to the start here. And finally, we’ll get to escape and keep going with our program. So great, there are a lot more interesting ways of using loops we’re going to learn about soon, but for now, you are off to an excellent start.

Leave a Reply

Your email address will not be published. Required fields are marked *