📖 Scenario: Imagine you are working with a simple blockchain that stores blocks as numbers. You want to count and display blocks using loops.
🎯 Goal: Build a program that uses both for and while loops to count blocks in a blockchain.
📋 What You'll Learn
Create a list called blocks with the numbers 1 to 5
Create a variable called count and set it to 0
Use a for loop with variable block to iterate over blocks and increase count by 1 each time
Use a while loop to print numbers from 1 up to count
💡 Why This Matters
🌍 Real World
Counting blocks or transactions is common in blockchain programs to track progress or verify data.
💼 Career
Understanding loops is essential for blockchain developers to process data efficiently and automate tasks.
Progress0 / 4 steps
1
Create the blocks list
Create a list called blocks with the numbers 1, 2, 3, 4, and 5.
Blockchain / Solidity
Hint
Use square brackets [] to create a list with the numbers inside separated by commas.
2
Create the count variable
Create a variable called count and set it to 0.
Blockchain / Solidity
Hint
Just write count = 0 on a new line.
3
Use a for loop to count blocks
Use a for loop with variable block to iterate over blocks and increase count by 1 inside the loop.
Blockchain / Solidity
Hint
Use for block in blocks: and inside the loop write count += 1.
4
Use a while loop to print numbers
Create a variable called i and set it to 1. Use a while loop to print i while it is less than or equal to count. Increase i by 1 each time inside the loop.
Blockchain / Solidity
Hint
Start with i = 1. Use while i <= count: and inside print i and then increase i by 1.
Practice
(1/5)
1. Which statement best describes a for loop in blockchain programming?
easy
A. It repeats code while a condition is true.
B. It runs only once and then stops.
C. It repeats code a fixed number of times.
D. It stops the program immediately.
Solution
Step 1: Understand the for loop purpose
A for loop is designed to repeat code a set number of times, often counting through a range or list.
Step 2: Compare with other loop types
A while loop repeats while a condition is true, not a fixed count. The other options do not describe for loops correctly.
Final Answer:
It repeats code a fixed number of times. -> Option C
Quick Check:
for loop = fixed repeats [OK]
Hint: For loops count repeats; while loops check conditions [OK]
Common Mistakes:
Confusing for loops with while loops
Thinking for loops run only once
Believing for loops stop the program
2. Which of the following is the correct syntax for a while loop in blockchain programming?
easy
A. while (condition) { // code }
B. while condition: // code
C. while condition { // code }
D. while (condition): // code
Solution
Step 1: Identify correct syntax style
In blockchain programming languages like Solidity, the while loop uses parentheses for the condition and curly braces for the code block.
Step 2: Check each option
while (condition) { // code } matches the correct syntax: while (condition) { // code }. Others miss parentheses or use incorrect punctuation.
Final Answer:
while (condition) { // code } -> Option A
Quick Check:
Correct while syntax uses parentheses and braces [OK]
uint sum = 0; for (uint i = 1; i <= 3; i++) { sum += i; } return sum;
medium
A. 6
B. 3
C. 0
D. Error
Solution
Step 1: Analyze the loop iterations
The loop runs with i = 1, 2, 3. Each time, sum adds i: sum = 0+1, then 1+2, then 3+3.
Step 2: Calculate the final sum
Sum after loop: 0+1=1, 1+2=3, 3+3=6.
Final Answer:
6 -> Option A
Quick Check:
1+2+3 = 6 [OK]
Hint: Add numbers from 1 to 3 to get sum quickly [OK]
Common Mistakes:
Stopping loop early
Adding wrong values
Confusing sum initialization
4. Identify the error in this code snippet:
uint i = 0; while (i < 3) i++;
medium
A. Condition should be i <= 3
B. Missing braces {} for while loop body
C. Variable i should start at 1
D. Incorrect increment operator
Solution
Step 1: Check loop body syntax
The while loop lacks braces {}, so only the next statement is inside the loop.
Step 2: Understand impact of missing braces
Without braces, the loop runs only the single statement i++;. This is valid but can cause confusion or errors if more statements are added.
Final Answer:
Missing braces {} for while loop body -> Option B
Quick Check:
Always use braces for clarity in loops [OK]
Hint: Use braces {} to clearly define loop body [OK]
Common Mistakes:
Assuming multiple statements run without braces
Changing variable start unnecessarily
Altering loop condition wrongly
5. You want to create a loop that counts down from 5 to 1 and stores each number in an array. Which code snippet correctly uses a for loop to do this in blockchain programming?
A) for (uint i = 5; i > 0; i--) { arr.push(i); } B) for (uint i = 1; i <= 5; i++) { arr.push(i); } C) for (uint i = 5; i >= 1; i++) { arr.push(i); } D) for (uint i = 5; i > 0; i++) { arr.push(i); }
hard
A. Infinite loop due to i++ with i > 0
B. Counts up from 1 to 5
C. Infinite loop due to i++ with i >= 1
D. Counts down from 5 to 1 correctly
Solution
Step 1: Analyze each loop's counting direction
Counts down from 5 to 1 correctly counts down from 5 to 1 using i-- and condition i > 0. Counts up from 1 to 5 counts up. Options C and D increase i but have conditions that cause infinite loops.
Step 2: Confirm correct loop behavior
Counts down from 5 to 1 correctly correctly pushes 5,4,3,2,1 into the array and stops when i reaches 0.
Final Answer:
Counts down from 5 to 1 correctly -> Option D
Quick Check:
Decrement i with i-- and condition i > 0 for countdown [OK]
Hint: Use i-- and i > 0 to count down safely [OK]
Common Mistakes:
Using i++ when counting down
Wrong loop condition causing infinite loops
Confusing counting up vs down
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.