Bird
Raised Fist0
PowerShellscripting~20 mins

While and Do-While loops in PowerShell - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Loop Mastery in PowerShell
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
2:00remaining
Output of a While loop counting down
What is the output of this PowerShell script?
PowerShell
i=3
while ($i -gt 0) {
  Write-Output $i
  $i--
}
A
3
2
1
0
B
1
2
3
C
3
2
1
D
0
1
2
3
Attempts:
2 left
💡 Hint
Remember the loop runs while $i is greater than zero and decreases $i each time.
💻 Command Output
intermediate
2:00remaining
Output of a Do-While loop with a condition
What will this PowerShell script output?
PowerShell
i=1
do {
  Write-Output $i
  $i += 2
} while ($i -lt 6)
A
1
2
3
4
5
B
1
3
5
7
C
2
4
6
D
1
3
5
Attempts:
2 left
💡 Hint
The loop adds 2 to $i each time and continues while $i is less than 6.
🔧 Debug
advanced
2:00remaining
Identify the error in this While loop
What error will this PowerShell script produce?
PowerShell
i=0
while ($i < 3) {
  Write-Output $i
  i++
}
ASyntax error: Missing '$' before variable 'i' in increment
BRuntime error: Variable 'i' is not recognized
CInfinite loop printing 0 forever
DOutputs 0, 1, 2 correctly
Attempts:
2 left
💡 Hint
Check how variables are referenced and incremented in PowerShell.
🚀 Application
advanced
2:00remaining
Count how many times a Do-While loop runs
How many times will this PowerShell Do-While loop execute?
PowerShell
$count = 0
do {
  $count++
} while ($count -lt 5)
A5
B4
C6
DInfinite loop
Attempts:
2 left
💡 Hint
The loop runs while $count is less than 5 and increments $count each time.
🧠 Conceptual
expert
2:00remaining
Difference between While and Do-While loops in PowerShell
Which statement correctly describes the difference between While and Do-While loops in PowerShell?
AWhile loops run the body once before checking the condition; Do-While loops check the condition before running the body.
BWhile loops check the condition before running the loop body; Do-While loops run the body once before checking the condition.
CBoth loops check the condition after running the loop body.
DBoth loops check the condition before running the loop body.
Attempts:
2 left
💡 Hint
Think about when the condition is evaluated in each loop type.

Practice

(1/5)
1. What is the main difference between a while loop and a do-while loop in PowerShell?
easy
A. while checks the condition before running the loop body; do-while runs the loop body once before checking.
B. while runs the loop body once before checking; do-while checks the condition before running.
C. while loops only run once; do-while loops run multiple times.
D. while loops are faster than do-while loops.

Solution

  1. Step 1: Understand while loop behavior

    The while loop checks the condition before running the code inside the loop. If the condition is false initially, the loop body does not run at all.
  2. Step 2: Understand do-while loop behavior

    The do-while loop runs the code inside the loop once before checking the condition. It then repeats if the condition is true.
  3. Final Answer:

    while checks the condition before running the loop body; do-while runs the loop body once before checking. -> Option A
  4. Quick Check:

    Loop condition check timing = A [OK]
Hint: Remember: while checks first, do-while runs once first [OK]
Common Mistakes:
  • Thinking both loops check condition before running
  • Confusing which loop runs code first
  • Assuming do-while runs only once
  • Believing while loops always run at least once
2. Which of the following is the correct syntax for a do-while loop in PowerShell?
easy
A. do (commands) while { condition }
B. while (condition) { commands }
C. do { commands } while (condition)
D. while { condition } do { commands }

Solution

  1. Step 1: Recall do-while syntax

    In PowerShell, the do-while loop syntax is: do { commands } while (condition). The loop runs the commands first, then checks the condition.
  2. Step 2: Check each option

    do { commands } while (condition) matches the correct syntax exactly. Options C and D have incorrect placement of braces and parentheses. while (condition) { commands } is the syntax for a while loop, not do-while.
  3. Final Answer:

    do { commands } while (condition) -> Option C
  4. Quick Check:

    Correct do-while syntax = A [OK]
Hint: Remember: do { } while (condition) is the correct form [OK]
Common Mistakes:
  • Mixing while and do-while syntax
  • Using parentheses and braces incorrectly
  • Placing condition before the loop body
  • Confusing syntax with other languages
3. What will be the output of this PowerShell code?
 $count = 1
do {
Write-Output $count
$count++
} while ($count -le 3)
medium
A. No output
B. 1 2
C. 2 3
D. 1 2 3

Solution

  1. Step 1: Understand the loop execution

    The do-while loop runs the body first, printing $count starting at 1, then increments $count.
  2. Step 2: Trace each iteration

    Iteration 1: prints 1, $count becomes 2
    Iteration 2: prints 2, $count becomes 3
    Iteration 3: prints 3, $count becomes 4
    Condition $count -le 3 fails, loop stops.
  3. Final Answer:

    1 2 3 -> Option D
  4. Quick Check:

    Loop prints 1 to 3 [OK]
Hint: Remember do-while runs once before condition check [OK]
Common Mistakes:
  • Thinking loop stops before printing 3
  • Confusing increment timing
  • Assuming no output if condition false initially
  • Mixing output order
4. Identify the error in this PowerShell while loop code:
 $i = 5
while ($i -lt 5)
{
Write-Output $i
$i++
}
medium
A. The loop condition is never true, so loop body never runs.
B. The increment operator $i++ is invalid in PowerShell.
C. Missing parentheses around the loop body.
D. The variable $i is not initialized.

Solution

  1. Step 1: Check initial condition

    The variable $i is initialized to 5. The loop condition is $i -lt 5 (less than 5). Since 5 is not less than 5, the condition is false initially.
  2. Step 2: Understand loop execution

    Because the condition is false at the start, the while loop body never runs, so no output is produced.
  3. Final Answer:

    The loop condition is never true, so loop body never runs. -> Option A
  4. Quick Check:

    Initial condition false means no loop execution [OK]
Hint: Check if loop condition is true initially to run loop [OK]
Common Mistakes:
  • Assuming loop runs at least once
  • Thinking $i++ is invalid in PowerShell
  • Confusing syntax for loop body braces
  • Ignoring initial variable value
5. You want to write a PowerShell script that asks the user to enter a number between 1 and 5. It should keep asking until the user enters a valid number. Which loop type is best and why?
hard
A. Use a for loop because it repeats a fixed number of times.
B. Use a do-while loop because it runs the prompt at least once before checking the input.
C. Use a while loop because it checks the input before running the prompt.
D. Use an if statement because it handles repeated input.

Solution

  1. Step 1: Understand the input requirement

    The script must ask the user at least once to enter a number, then repeat if invalid.
  2. Step 2: Choose loop type based on behavior

    A do-while loop runs the prompt first, then checks the condition. This fits the need to ask at least once and repeat if needed. A while loop checks condition first, which is not suitable here because input is not available before first prompt.
  3. Final Answer:

    Use a do-while loop because it runs the prompt at least once before checking the input. -> Option B
  4. Quick Check:

    Prompt at least once = do-while [OK]
Hint: Use do-while to run code once before condition check [OK]
Common Mistakes:
  • Choosing while loop and expecting prompt to run first
  • Using for loop for unknown repeat count
  • Using if statement for repeated input
  • Not considering first prompt must always run
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