# What Is a for Loop?

A for loop is a definite loop, meaning, the number of iterations is defined. # Syntax

The for loop is followed by a variable that iterates over a list of values. The general syntax is : # Example

The following example uses a for loop that prints 5 numbers.

``````fn main() {
//define a for loop
for i in 0..5 {
println!("{}", i);
}
}

``````

output

``````0
1
2
3
4
``````

# Explanation

• for loop definition
• On line 3 a for loop is defined.
• Variable i is an iterator variable that iterates over the range with the lower bound as 0 and the upper bound as 5. From here the body of the loop starts.
• for loop body
• The body of the for loop is defined from line 3 to line 5
• In each iteration:
• On line 4, the value of the variable i is printed.
• The value of the variable i is incremented by 1.
• The iterator variable i traverses over the range until the upper bound is reached.

Note: The lower bound is inclusive and the upper bound is exclusive in the range

The following illustration explains this concept: # Enumerate To count how many times the loop has already executed, use the .enumerate() function.

• Syntax The general syntax is : • Example

The example below prints the frequency of iterations and the value of variable.

``````fn main() {
for (count, variable) in (7..10).enumerate() {
println!("count = {}, variable = {}", count, variable);
}
}

``````

output

``````count = 0, variable = 7
count = 1, variable = 8
count = 2, variable = 9

``````

# Explanation

• enumerated for loop definition
• On line 2 an enumerate for loop is defined.
• The variable variable iterates over the range with the lower bound as 7 and the upper bound as 10 and a variable count which shows how many times the loop is iterated. From here the body of the loop starts.
• enumerated for loop body
• On line 3, the value of count and variable is printed and then incremented by 1.

# Quiz

1. What is the output of the following code?
``````
fn main() {
for i in 0..5{
if i % 4 == 0 {
print!("{}", i);
}
}
}

``````

A) 04

B) 01234

1. What is the output of the following code?
``````
fn main() {
for (count, variable) in (7..10).enumerate() {
if count * 2 == 4{
println!("count = {}, variable = {}", count, variable);
}
}
}

``````

A)

``````count = 0, variable = 7
count = 1, variable = 8
count = 2, variable = 9
``````

B)

``````count = 2, variable = 9

``````