Bird
Raised Fist0
PowerShellscripting~10 mins

For loop in PowerShell - Interactive Code Practice

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

Complete the code to print numbers from 1 to 5 using a for loop.

PowerShell
for ($i = 1; $i -le 5; $i[1]) { Write-Output $i }
Drag options to blanks, or click blank then click option'
A++
B--
C-=
D+=
Attempts:
3 left
💡 Hint
Common Mistakes
Using -- decreases the counter, causing an infinite loop.
Using += without a number is incomplete syntax.
2fill in blank
medium

Complete the code to loop through numbers 0 to 4 and print each.

PowerShell
for ($num = 0; $num [1] 5; $num++) { Write-Output $num }
Drag options to blanks, or click blank then click option'
A-ne
B-gt
C-eq
D-lt
Attempts:
3 left
💡 Hint
Common Mistakes
Using '-gt' would never run the loop because 0 is not greater than 5.
Using '-eq' would only run when $num equals 5, which is not the loop condition.
3fill in blank
hard

Fix the error in the for loop to count down from 5 to 1.

PowerShell
for ($i = 5; $i -ge 1; $i[1]) { Write-Output $i }
Drag options to blanks, or click blank then click option'
A++
B--
C+=
D-=
Attempts:
3 left
💡 Hint
Common Mistakes
Using ++ increases the counter, causing an infinite loop.
Using -= without a number is incomplete syntax.
4fill in blank
hard

Fill both blanks to create a loop that prints even numbers from 2 to 10.

PowerShell
for ($i = [1]; $i [2] 10; $i += 2) { Write-Output $i }
Drag options to blanks, or click blank then click option'
A2
B-lt
C-le
D0
Attempts:
3 left
💡 Hint
Common Mistakes
Starting at 0 would include zero, which is not an even number in this context.
Using '-lt' excludes 10 from the output.
5fill in blank
hard

Fill all three blanks to create a loop that prints squares of numbers from 1 to 5.

PowerShell
for ($num = [1]; $num [2] 5; $num [3]) { Write-Output ($num * $num) }
Drag options to blanks, or click blank then click option'
A1
B-le
C++
D0
Attempts:
3 left
💡 Hint
Common Mistakes
Starting at 0 would print 0 squared, which may not be desired.
Using '-lt' excludes 5 from the output.

Practice

(1/5)
1.

What does a for loop in PowerShell do?

easy
A. Defines a function
B. Runs code only once
C. Stops the script immediately
D. Repeats a block of code a set number of times

Solution

  1. Step 1: Understand the purpose of a for loop

    A for loop is designed to repeat code multiple times based on a condition.
  2. Step 2: Compare options with the definition

    Only Repeats a block of code a set number of times correctly describes repeating code a set number of times.
  3. Final Answer:

    Repeats a block of code a set number of times -> Option D
  4. Quick Check:

    For loop = repeat code [OK]
Hint: For loops repeat code multiple times [OK]
Common Mistakes:
  • Thinking for loop runs only once
  • Confusing for loop with function definition
  • Believing for loop stops script
2.

Which of the following is the correct syntax for a for loop in PowerShell?

for (init; condition; increment) { code }
easy
A. for ($i=0; $i -lt 5; $i++) { Write-Output $i }
B. for $i in 0..5 { Write-Output $i }
C. foreach ($i=0; $i -lt 5; $i++) { Write-Output $i }
D. while ($i=0; $i -lt 5; $i++) { Write-Output $i }

Solution

  1. Step 1: Identify correct for loop syntax

    PowerShell for loops use parentheses with init; condition; increment separated by semicolons.
  2. Step 2: Check each option

    for ($i=0; $i -lt 5; $i++) { Write-Output $i } matches correct syntax. A uses while keyword. B has invalid 'for $i in' syntax. C uses foreach keyword. [OK]
  3. Final Answer:

    for ($i=0; $i -lt 5; $i++) { Write-Output $i } -> Option A
  4. Quick Check:

    Correct for loop syntax = for ($i=0; $i -lt 5; $i++) { Write-Output $i } [OK]
Hint: For loop uses semicolons inside parentheses [OK]
Common Mistakes:
  • Using foreach instead of for
  • Using spaces instead of semicolons
  • Confusing while loop syntax
3.

What will be the output of this PowerShell code?

for ($i=1; $i -le 3; $i++) { Write-Output ($i * 2) }
medium
A. 0 2 4
B. 1 2 3
C. 2 4 6
D. 3 6 9

Solution

  1. Step 1: Understand loop iterations

    The loop runs with $i values 1, 2, and 3 because condition is $i -le 3.
  2. Step 2: Calculate output for each iteration

    Output is $i * 2: 1*2=2, 2*2=4, 3*2=6.
  3. Final Answer:

    2 4 6 -> Option C
  4. Quick Check:

    Multiply each i by 2 = 2 4 6 [OK]
Hint: Multiply loop variable by 2 each iteration [OK]
Common Mistakes:
  • Confusing loop range
  • Multiplying after loop ends
  • Printing loop variable instead of calculation
4.

Identify the error in this PowerShell for loop:

for (; $i < 5; $i++) { Write-Output $i }
medium
A. The increment operator '++' is invalid in PowerShell
B. The loop variable $i is not initialized
C. The condition uses '<' instead of '-lt'
D. The loop body is missing curly braces

Solution

  1. Step 1: Check initialization syntax in for loop

    The initialization part is empty; $i needs to be initialized (e.g., $i=0).
  2. Step 2: Verify other parts

    Increment '++' is valid, condition '<' works for numbers, braces are present.
  3. Final Answer:

    The loop variable $i is not initialized -> Option B
  4. Quick Check:

    Always initialize $i in for loop [OK]
Hint: Initialize loop variable in for loop [OK]
Common Mistakes:
  • Forgetting to initialize loop variable
  • Thinking '++' is invalid
  • Using C-style operators like '<' in PowerShell
5.

You want to print only even numbers from 2 to 10 using a for loop in PowerShell. Which code snippet achieves this?

hard
A. for ($i=2; $i -le 10; $i+=2) { Write-Output $i }
B. for ($i=1; $i -lt 10; $i++) { if ($i % 2 -eq 0) { Write-Output $i } }
C. for ($i=2; $i -lt 10; $i++) { Write-Output $i }
D. for ($i=0; $i -le 10; $i+=3) { Write-Output $i }

Solution

  1. Step 1: Understand the goal

    We want to print even numbers from 2 to 10 inclusive.
  2. Step 2: Analyze each option

    for ($i=1; $i -lt 10; $i++) { if ($i % 2 -eq 0) { Write-Output $i } } goes to i<10 so prints 2,4,6,8 (misses 10). for ($i=2; $i -le 10; $i+=2) { Write-Output $i } starts at 2, increments by 2 up to 10: 2,4,6,8,10. for ($i=2; $i -lt 10; $i++) { Write-Output $i } prints 2-9 all numbers. for ($i=0; $i -le 10; $i+=3) { Write-Output $i } wrong start/step.
  3. Final Answer:

    for ($i=2; $i -le 10; $i+=2) { Write-Output $i } -> Option A
  4. Quick Check:

    Increment by 2 from 2 to 10 = even numbers [OK]
Hint: Increment by 2 starting at 2 for even numbers [OK]
Common Mistakes:
  • Using wrong increment step
  • Starting from 1 instead of 2
  • Not filtering for even numbers
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