📖 Scenario: You are creating a simple script to check the temperature and give advice on what to wear. This is like asking a friend, "Is it cold, warm, or hot outside?" and then deciding what clothes to wear based on that.
🎯 Goal: Build a PowerShell script that uses if, elseif, and else statements to check a temperature value and print the right clothing advice.
📋 What You'll Learn
Create a variable called temperature with a specific number value.
Create a variable called coldThreshold with a number value.
Use if, elseif, and else statements to compare temperature with coldThreshold and another threshold.
Print the correct advice message based on the temperature.
💡 Why This Matters
🌍 Real World
Scripts like this help automate decisions based on data, such as adjusting settings or sending alerts depending on conditions.
💼 Career
Understanding conditional statements is essential for scripting tasks in IT, system administration, and automation roles.
Progress0 / 4 steps
1
Set the temperature value
Create a variable called temperature and set it to 15.
PowerShell
Hint
Use $temperature = 15 to create the variable.
2
Set the cold temperature threshold
Create a variable called coldThreshold and set it to 10.
PowerShell
Hint
Use $coldThreshold = 10 to create the variable.
3
Write the if-elseif-else statements
Write an if statement to check if temperature is less than coldThreshold. Then add an elseif to check if temperature is less than 25. Use else for all other cases. Inside each block, assign a string message to a variable called advice as follows: - If cold: "Wear a jacket" - Elseif warm: "Wear a t-shirt" - Else: "Wear shorts"
PowerShell
Hint
Use if ($temperature -lt $coldThreshold) for the cold check, then elseif ($temperature -lt 25) for warm, and else for hot.
4
Print the clothing advice
Print the value of the advice variable using Write-Output.
PowerShell
Hint
Use Write-Output $advice to print the message.
Practice
(1/5)
1. What does an if-elseif-else statement do in PowerShell?
easy
A. It chooses which code to run based on conditions.
B. It repeats code multiple times.
C. It stores data in variables.
D. It defines a function.
Solution
Step 1: Identify the purpose of if-elseif-else
An if-elseif-else statement checks conditions and runs code based on which condition is true. This matches "It chooses which code to run based on conditions."
Final Answer:
It chooses which code to run based on conditions. -> Option A
Quick Check:
if-elseif-else controls flow by conditions = B [OK]
Hint: If it picks code based on true/false, it's if-elseif-else [OK]
Common Mistakes:
Confusing if-elseif-else with loops
Thinking it stores data
Mixing it up with function definitions
2. Which of the following is the correct syntax to start an if statement in PowerShell?
easy
A. if $x == 5 then { }
B. if ( $x -eq 5 ) { }
C. if $x = 5 { }
D. if $x equals 5 { }
Solution
Step 1: Recall PowerShell if syntax and verify options
PowerShell uses if (condition) { code } with -eq for equality check. "if ( $x -eq 5 ) { }" uses correct parentheses, -eq operator, and braces. Others use wrong operators or keywords.
Final Answer:
if ( $x -eq 5 ) { } -> Option B
Quick Check:
PowerShell if: parens + -eq = A [OK]
Hint: Use parentheses and -eq for conditions in if [OK]
Common Mistakes:
Using == instead of -eq
Omitting parentheses
Using = for comparison
3. What will this PowerShell code output?
$num = 7 if ($num -lt 5) { 'Less than 5' } elseif ($num -eq 7) { 'Equal to 7' } else { 'Other' }
medium
A. Equal to 7
B. No output
C. Other
D. Less than 5
Solution
Step 1: Trace code execution step-by-step
$num is 7, ($num -lt 5) is false. ($num -eq 7) is true, outputs 'Equal to 7'.
Final Answer:
Equal to 7 -> Option A
Quick Check:
7 -eq 7 triggers elseif = D [OK]
Hint: Check conditions top to bottom, first true runs [OK]
Common Mistakes:
Choosing first if block without checking condition
Ignoring elseif block
Assuming else runs always
4. Find the error in this PowerShell snippet:
if $value -gt 10 { 'Greater than 10' } elseif ($value -eq 10) { 'Equal to 10' } else { 'Less than 10' }
medium
A. Braces {} are not allowed
B. Using -gt instead of >
C. Missing else keyword
D. Missing parentheses around first if condition
Solution
Step 1: Check syntax and identify the error
PowerShell requires parentheses around the condition in if statements. The first if lacks them: "if $value -gt 10 {" should be "if ($value -gt 10) {". Matches "Missing parentheses around first if condition".
Final Answer:
Missing parentheses around first if condition -> Option D
Quick Check:
All if conditions need parentheses = A [OK]
Hint: Always put conditions inside parentheses in if [OK]
Common Mistakes:
Omitting parentheses in if
Confusing -gt with > (both valid but -gt preferred)
Forgetting else keyword
5. You want to write a script that prints: - 'Cold' if temperature is below 10, - 'Warm' if temperature is between 10 and 25 inclusive, - 'Hot' if temperature is above 25. Which if-elseif-else structure correctly implements this?
hard
A. if ($temp -lt 10) { 'Cold' } elseif ($temp -ge 25) { 'Hot' } else { 'Warm' }
B. if ($temp -le 10) { 'Cold' } elseif ($temp -lt 25) { 'Warm' } else { 'Hot' }
C. if ($temp -lt 10) { 'Cold' } elseif ($temp -le 25) { 'Warm' } else { 'Hot' }
D. if ($temp -gt 25) { 'Hot' } elseif ($temp -gt 10) { 'Warm' } else { 'Cold' }
Solution
Step 1: Analyze temperature ranges and verify conditions