 Now, we're going to improve our timer a little bit. Open up timer underscore 01 dot pi. We have our same from time import sleep, seconds left equals 15, and now we've modified the next little bit. In four, we have a four I underscore second in range of seconds left, and then an indented block where we print I second sleep one. This merits a little bit of unpacking. Let's start with the range keyword. This is a function that's so useful it's built into Python. What it does is if you give it a number, say 15, it breaks it out and counts starting from zero, one, two, three, four, five, all the way up to one number short of the number you gave it. In our case, it counts all the way up to 14. If you notice, that's 15 numbers that it counted because it started at zero. This is where Pythons counting from zero and not including the endpoint kind of makes sense because it gets 15 different numbers in there. It's just zero to 14 instead of one to 15. Range is for taking a number and breaking it out into the range of numbers between zero and it, not including it. The rest of this line for I second in range. What this does is it says, okay, so if range is this group of numbers, then I want to step through them one at a time. I underscore second is a variable that we create. That's the index of the second or the counter of the second. What this loop does then is it starts with I second being the very first thing in what comes next. In our case, in range seconds left. The very first thing in that group is zero. As we run it, it'll print I second, so zero the first time through, and then it'll sleep for one second. This is a loop. It'll go back to the top of that indented code and do it again. It'll get the next thing from that group, the range of seconds left. After zero comes one. Now I second will be one. It'll print the number one and sleep for one second, and then as it goes through this again, it keeps printing the next number, sleeping for one second, printing the next number, sleeping for one second, and then after it does this for all of the seconds and seconds left for 15 seconds, then we get a ding. This lines four, five, and six is called a for loop, because for says to count through something, to iterate through something, to step through something, and then for each step do the chunk of code that's indented below it. Loop through that code. For loops are incredibly useful. We're going to see them all over the place, and we're going to get to make fantastic friends with them. This is good that we're getting to meet it here, monumental day. When we run this, we can see it counts zero, one, two, three, et cetera, about one second apart, just like we told it to, and then it counts up to 14, sleeps for one second, and then we get a ding. Our 15-second timer now has a counter, and we can see how far through the process it is. Very cool. Things that are kind of wonky about it. There's no reason we need to see all the numbers listed out. That's kind of a cheesy timer. Also we put it in for 15 seconds, but the highest number it ever shows are 14. We have room for improvement, it's still not totally intuitive, but it's a little bit better.