Bird
Raised Fist0
PowerShellscripting~10 mins

Switch statement 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 start a switch statement for the variable $color.

PowerShell
switch ([1]) { 'red' { Write-Output 'Stop' } }
Drag options to blanks, or click blank then click option'
A$color
B$value
C$item
D$input
Attempts:
3 left
💡 Hint
Common Mistakes
Using a variable name that does not exist like $value or $item.
Forgetting the $ sign before the variable name.
2fill in blank
medium

Complete the code to output 'Go' when $color is green.

PowerShell
switch ($color) { 'green' { [1] 'Go' } }
Drag options to blanks, or click blank then click option'
APrint
BWrite-Host
CWrite-Output
DEcho
Attempts:
3 left
💡 Hint
Common Mistakes
Using Print which is not a PowerShell command.
Using Echo which is an alias but less clear.
3fill in blank
hard

Fix the error in the switch statement to correctly handle multiple values.

PowerShell
switch ($day) { [1] { Write-Output 'Weekend' } default { Write-Output 'Weekday' } }
Drag options to blanks, or click blank then click option'
A'Saturday'; 'Sunday'
B'Saturday', 'Sunday'
C'Saturday' 'Sunday'
D'Saturday'|'Sunday'
Attempts:
3 left
💡 Hint
Common Mistakes
Using spaces or semicolons instead of commas to separate values.
Using the pipe character which is not valid here.
4fill in blank
hard

Fill both blanks to complete the switch that outputs messages for fruit colors.

PowerShell
switch ($fruit) { [1] { Write-Output 'Yellow fruit' } [2] { Write-Output 'Red fruit' } }
Drag options to blanks, or click blank then click option'
A'banana'
B'apple'
C'cherry'
D'lemon'
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing fruit names with wrong colors.
Using fruits not listed in options.
5fill in blank
hard

Fill all three blanks to create a switch that outputs messages for traffic light colors.

PowerShell
switch ([1]) { [2] { Write-Output 'Stop' } [3] { Write-Output 'Go' } default { Write-Output 'Caution' } }
Drag options to blanks, or click blank then click option'
A$light
B'red'
C'green'
D'yellow'
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong variable name.
Mixing up color cases.

Practice

(1/5)
1. What is the main purpose of a switch statement in PowerShell?
easy
A. To create a variable
B. To repeat a block of code multiple times
C. To define a function
D. To choose one action from many based on a value

Solution

  1. Step 1: Understand the role of switch

    A switch statement checks a value and picks the matching case to run.
  2. Step 2: Compare with other options

    Loops repeat code, functions define reusable code, variables store data. Only switch picks actions based on value.
  3. Final Answer:

    To choose one action from many based on a value -> Option D
  4. Quick Check:

    Switch selects action by value = A [OK]
Hint: Switch picks code by matching value, like a menu choice [OK]
Common Mistakes:
  • Confusing switch with loops
  • Thinking switch defines variables
  • Mixing switch with function definition
2. Which of the following is the correct syntax to start a switch statement in PowerShell?
easy
A. switch ($variable) { ... }
B. switch $variable { ... }
C. switch { $variable } ...
D. switch ($variable) then { ... }

Solution

  1. Step 1: Recall switch syntax

    PowerShell requires parentheses around the value: switch ($variable) { ... }
  2. Step 2: Check other options

    switch $variable { ... } misses parentheses, C has wrong braces, D uses invalid 'then'.
  3. Final Answer:

    switch ($variable) { ... } -> Option A
  4. Quick Check:

    Parentheses around variable = B [OK]
Hint: Always put the variable inside parentheses after switch [OK]
Common Mistakes:
  • Omitting parentheses around the variable
  • Using 'then' keyword incorrectly
  • Wrong brace placement
3. What will be the output of this PowerShell code?
switch (3) {
  1 { 'One' }
  2 { 'Two' }
  3 { 'Three' }
  default { 'Other' }
}
medium
A. Three
B. Two
C. Other
D. One

Solution

  1. Step 1: Identify the switch value

    The switch is checking the value 3.
  2. Step 2: Match the case

    Case 3 matches and outputs 'Three'. Default is ignored because a match was found.
  3. Final Answer:

    Three -> Option A
  4. Quick Check:

    Value 3 matches case 3 = D [OK]
Hint: Match value to case; default runs only if no match [OK]
Common Mistakes:
  • Choosing default even when a case matches
  • Confusing case numbers
  • Ignoring case order
4. Identify the error in this PowerShell switch statement:
switch $color {
  'red' { 'Stop' }
  'green' { 'Go' }
  default { 'Wait' }
}
medium
A. Missing quotes around case values
B. Missing parentheses around $color
C. Missing default case
D. Incorrect use of curly braces

Solution

  1. Step 1: Check switch syntax

    PowerShell requires parentheses around the variable in switch: switch ($color) { ... }
  2. Step 2: Verify other parts

    Quotes around case values and default case are correct; curly braces are used properly.
  3. Final Answer:

    Missing parentheses around $color -> Option B
  4. Quick Check:

    Parentheses required around variable = A [OK]
Hint: Always wrap the switch variable in parentheses [OK]
Common Mistakes:
  • Omitting parentheses around the switch variable
  • Thinking quotes are optional for strings
  • Confusing default case necessity
5. You want to write a switch statement that prints 'Weekend' for Saturday and Sunday, 'Weekday' for Monday to Friday, and 'Invalid' for any other input. Which code snippet correctly implements this?
hard
A. switch ($day) { 'Saturday' { 'Weekend' } 'Sunday' { 'Weekend' } 'Monday','Tuesday','Wednesday','Thursday','Friday' { 'Weekday' } default { 'Invalid' } }
B. switch ($day) { 'Saturday' -or 'Sunday' { 'Weekend' } 'Monday' -or 'Tuesday' -or 'Wednesday' -or 'Thursday' -or 'Friday' { 'Weekday' } default { 'Invalid' } }
C. switch ($day) { 'Saturday' { 'Weekend' } 'Sunday' { 'Weekend' } 'Monday' { 'Weekday' } 'Tuesday' { 'Weekday' } 'Wednesday' { 'Weekday' } 'Thursday' { 'Weekday' } 'Friday' { 'Weekday' } default { 'Invalid' } }
D. switch ($day) { 'Saturday','Sunday' { 'Weekend' } 'Monday','Tuesday','Wednesday','Thursday','Friday' { 'Weekday' } default { 'Invalid' } }

Solution

  1. Step 1: Recall PowerShell switch case syntax

    Each case must have exactly one pattern followed by { action }. Multiple values require separate case statements.
  2. Step 2: Check each option

    A lists a separate case for each day: correct syntax and produces expected output.
    B uses -or which evaluates to $true (boolean) and won't match string days.
    C and D use commas to attempt grouping, but this causes syntax errors (unexpected token ',').
  3. Final Answer:

    switch ($day) { 'Saturday' { 'Weekend' } 'Sunday' { 'Weekend' } 'Monday' { 'Weekday' } 'Tuesday' { 'Weekday' } 'Wednesday' { 'Weekday' } 'Thursday' { 'Weekday' } 'Friday' { 'Weekday' } default { 'Invalid' } } -> Option C
  4. Quick Check:

    Separate cases per value, no commas in patterns = A [OK]
Hint: Use separate case statements for multiple matching values [OK]
Common Mistakes:
  • Using '-or' inside switch case labels
  • Trying to group values with commas (syntax error)
  • Incorrectly assuming comma grouping works like other languages
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