Bird
Raised Fist0
PowerShellscripting~20 mins

Why operators perform comparisons and logic in PowerShell - Challenge Your Understanding

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
PowerShell Logic Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
2:00remaining
What is the output of this PowerShell comparison?
Consider this PowerShell command:
$result = 5 -gt 3
Write-Output $result

What will be the output?
PowerShell
$result = 5 -gt 3
Write-Output $result
ATrue
BFalse
C5
D3
Attempts:
2 left
💡 Hint
The '-gt' operator checks if the left value is greater than the right value.
💻 Command Output
intermediate
2:00remaining
What does this logical operation output?
Look at this PowerShell code:
$a = $true
$b = $false
$result = $a -and $b
Write-Output $result

What will be printed?
PowerShell
$a = $true
$b = $false
$result = $a -and $b
Write-Output $result
ATrue
B0
C1
DFalse
Attempts:
2 left
💡 Hint
The '-and' operator returns True only if both sides are True.
💻 Command Output
advanced
2:00remaining
What is the output of this combined comparison and logic?
Analyze this PowerShell snippet:
$x = 10
$y = 20
$result = ($x -lt 15) -or ($y -eq 10)
Write-Output $result

What will it output?
PowerShell
$x = 10
$y = 20
$result = ($x -lt 15) -or ($y -eq 10)
Write-Output $result
ATrue
BFalse
C10
D20
Attempts:
2 left
💡 Hint
The '-or' operator returns True if at least one side is True.
💻 Command Output
advanced
2:00remaining
What does this PowerShell code output?
Look at this code:
$result = 5 -and 3
Write-Output $result

What happens when you run it?
PowerShell
$result = 5 -and 3
Write-Output $result
AFalse
B3
CTrue
D5
Attempts:
2 left
💡 Hint
In PowerShell, '-and' returns the last evaluated value if both are true-like.
📝 Syntax
expert
2:00remaining
Which option causes a syntax error in PowerShell comparison?
Which of these lines will cause a syntax error when run in PowerShell?
A$result = 10 -eq 10
B$result = 10 -ne 5
C$result = 10 = 10
D$result = 10 -lt 20
Attempts:
2 left
💡 Hint
PowerShell uses '-eq' for equality, not '='.

Practice

(1/5)
1. In PowerShell, which operator is used to check if two values are equal?
easy
A. -gt
B. -ne
C. -eq
D. -lt

Solution

  1. Step 1: Understand comparison operators

    PowerShell uses specific operators to compare values, such as -eq for equality, -ne for not equal, -gt for greater than, and -lt for less than.
  2. Step 2: Identify the equality operator

    The operator -eq checks if two values are equal, returning True if they are the same.
  3. Final Answer:

    -eq -> Option C
  4. Quick Check:

    Equality operator = -eq [OK]
Hint: Remember: 'eq' means equal in PowerShell [OK]
Common Mistakes:
  • Confusing -eq with -ne (not equal)
  • Using == instead of -eq
  • Mixing up -gt and -lt
2. Which of the following is the correct syntax to check if variable $a is greater than 10 in PowerShell?
easy
A. if ($a > 10) { }
B. if ($a -gt 10) { }
C. if ($a gt 10) { }
D. if ($a => 10) { }

Solution

  1. Step 1: Recall PowerShell comparison syntax

    PowerShell uses operators with a dash, like -gt for greater than, not symbols like > or =>.
  2. Step 2: Identify the correct operator for greater than

    The correct operator is -gt, so the syntax is if ($a -gt 10) { }.
  3. Final Answer:

    if ($a -gt 10) { } -> Option B
  4. Quick Check:

    Greater than operator = -gt [OK]
Hint: Use dash before comparison operators in PowerShell [OK]
Common Mistakes:
  • Using > instead of -gt
  • Writing 'gt' without dash
  • Using invalid operator =>
3. What will be the output of this PowerShell code?
$x = 5
$y = 10
if ($x -lt 10 -and $y -gt 5) { 'True' } else { 'False' }
medium
A. False
B. No output
C. SyntaxError
D. True

Solution

  1. Step 1: Evaluate each comparison

    $x -lt 10 means 5 less than 10, which is True. $y -gt 5 means 10 greater than 5, which is also True.
  2. Step 2: Apply logical AND operator

    Both conditions are True, so True -and True equals True, so the if block runs and outputs 'True'.
  3. Final Answer:

    True -> Option D
  4. Quick Check:

    Both conditions True and combined with -and = True [OK]
Hint: Both sides must be true for -and to return True [OK]
Common Mistakes:
  • Thinking -and returns True if one side is true
  • Confusing -and with -or
  • Ignoring operator precedence
4. Identify the error in this PowerShell snippet:
if ($a -eq 5 -or $b = 10) { 'Yes' } else { 'No' }
medium
A. Using = instead of -eq for comparison
B. Missing parentheses around conditions
C. Using -or instead of -and
D. No error, code is correct

Solution

  1. Step 1: Check comparison operators

    PowerShell uses -eq for equality comparison, not = which is an assignment operator.
  2. Step 2: Identify the error in $b = 10

    $b = 10 assigns 10 to $b, it does not compare. This causes a logic error in the if condition.
  3. Final Answer:

    Using = instead of -eq for comparison -> Option A
  4. Quick Check:

    Comparison needs -eq, not = [OK]
Hint: Use -eq for comparison, = is assignment [OK]
Common Mistakes:
  • Using = instead of -eq in conditions
  • Assuming -or needs parentheses
  • Confusing logical operators
5. You want to check if a number $n is between 10 and 20 inclusive in PowerShell. Which expression correctly uses comparison and logical operators?
hard
A. if ($n -ge 10 -and $n -le 20) { 'In range' }
B. if ($n -gt 10 -or $n -lt 20) { 'In range' }
C. if ($n -ge 10 -or $n -le 20) { 'In range' }
D. if ($n -gt 10 -and $n -lt 20) { 'In range' }

Solution

  1. Step 1: Understand inclusive range check

    To check if $n is between 10 and 20 inclusive, $n must be greater than or equal to 10 and less than or equal to 20.
  2. Step 2: Match operators to conditions

    -ge means greater or equal, -le means less or equal, and both conditions must be true, so use -and.
  3. Final Answer:

    if ($n -ge 10 -and $n -le 20) { 'In range' } -> Option A
  4. Quick Check:

    Inclusive range uses -ge and -le with -and [OK]
Hint: Use -ge and -le with -and for inclusive range checks [OK]
Common Mistakes:
  • Using -or instead of -and
  • Using strict > and < instead of >= and <=
  • Mixing up logical operators
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