Bird
Raised Fist0
Blockchain / Solidityprogramming~10 mins

For and while loops in Blockchain / Solidity - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to loop through the numbers 1 to 5 and print each number.

Blockchain / Solidity
for i in range(1, [1]):
    print(i)
Drag options to blanks, or click blank then click option'
A6
B5
C4
D10
Attempts:
3 left
💡 Hint
Common Mistakes
Using 5 as the end number, which excludes 5 from the loop.
2fill in blank
medium

Complete the code to create a while loop that stops when the variable count reaches 3.

Blockchain / Solidity
count = 0
while count [1] 3:
    print(count)
    count += 1
Drag options to blanks, or click blank then click option'
A>
B<
C==
D>=
Attempts:
3 left
💡 Hint
Common Mistakes
Using '==' which causes an infinite loop or no loop at all.
3fill in blank
hard

Fix the error in the for loop to correctly print each item in the list.

Blockchain / Solidity
items = ['block', 'chain', 'loop']
for [1] in items:
    print(item)
Drag options to blanks, or click blank then click option'
Aitem
Bi
Cblock
Dchain
Attempts:
3 left
💡 Hint
Common Mistakes
Using a different variable name than in the print statement.
4fill in blank
hard

Fill both blanks to create a dictionary with words as keys and their lengths as values, but only for words longer than 4 letters.

Blockchain / Solidity
lengths = {word: [1] for word in words if len(word) [2] 4}
Drag options to blanks, or click blank then click option'
Alen(word)
B<
C>
Dword
Attempts:
3 left
💡 Hint
Common Mistakes
Using '<' instead of '>' which selects shorter words.
5fill in blank
hard

Fill all three blanks to create a dictionary with uppercase keys and values only if the value is greater than 10.

Blockchain / Solidity
result = [1]: [2] for k, v in data.items() if v [3] 10}
Drag options to blanks, or click blank then click option'
Ak.upper()
Bv
C>
Dk
Attempts:
3 left
💡 Hint
Common Mistakes
Using the key directly without uppercase.
Using '<' instead of '>' for filtering.

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

  1. 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.
  2. 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.
  3. Final Answer:

    It repeats code a fixed number of times. -> Option C
  4. 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

  1. 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.
  2. Step 2: Check each option

    while (condition) { // code } matches the correct syntax: while (condition) { // code }. Others miss parentheses or use incorrect punctuation.
  3. Final Answer:

    while (condition) { // code } -> Option A
  4. Quick Check:

    Correct while syntax uses parentheses and braces [OK]
Hint: Remember: while(condition) { code } uses parentheses and braces [OK]
Common Mistakes:
  • Omitting parentheses around condition
  • Using colon instead of braces
  • Mixing syntax from other languages
3. What will be the output of this code snippet?
uint sum = 0;
for (uint i = 1; i <= 3; i++) {
sum += i;
}
return sum;
medium
A. 6
B. 3
C. 0
D. Error

Solution

  1. 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.
  2. Step 2: Calculate the final sum

    Sum after loop: 0+1=1, 1+2=3, 3+3=6.
  3. Final Answer:

    6 -> Option A
  4. 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

  1. Step 1: Check loop body syntax

    The while loop lacks braces {}, so only the next statement is inside the loop.
  2. 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.
  3. Final Answer:

    Missing braces {} for while loop body -> Option B
  4. 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

  1. 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.
  2. 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.
  3. Final Answer:

    Counts down from 5 to 1 correctly -> Option D
  4. 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 unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard