0:00:06.149,0:00:11.059 When you use a repeat block to loop your code,[br]how does the computer know when it's repeated 0:00:11.059,0:00:16.610 enough times? The repeat block is actually[br]hiding a more sophisticated piece of code 0:00:16.610,0:00:22.840 called a for loop which counts from a starting[br]value up to an ending value by a specific 0:00:22.840,0:00:31.330 increment. For example, a repeat three block[br]counts from 1 to 3 by 1. Every time it counts, 0:00:31.330,0:00:36.500 it runs the code inside the loop. The for[br]loop knows how many times it has run by using 0:00:36.500,0:00:40.869 a counter variable which is set to the starting[br]value at the beginning of the loop and has 0:00:40.869,0:00:45.070 the increment added to it each time the loop[br]is run. As soon as the counter variable is 0:00:45.070,0:00:52.110 greater than the ending value, the loop stops[br]running. The benefit of using a real for loop 0:00:52.110,0:00:56.220 instead of the repeat block is that you can[br]actually see the counter variable and use 0:00:56.220,0:01:02.470 it in your loop. For example, if I have a[br]series of flowers and the first one has one 0:01:02.470,0:01:07.490 nectar, the second one has two nectars and[br]the third one has three, I can use the for 0:01:07.490,0:01:13.220 loop to tell the bee to collect 'counter'[br]nectars each time, which would one at the 0:01:13.220,0:01:18.900 first flower, two at the second and three[br]at the third. Also in a for loop, you can 0:01:18.900,0:01:23.690 increment the counter by a number other than[br]one each time. You can potentially count by 0:01:23.690,0:01:27.530 2s, 4s or even an amount that changes every[br]time through.