Bird
Raised Fist0
PowerShellscripting~10 mins

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

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

Complete the code to check if the number is equal to 10.

PowerShell
if ($number [1] 10) { Write-Output "Equal" }
Drag options to blanks, or click blank then click option'
A-gt
B-eq
C-lt
D-ne
Attempts:
3 left
💡 Hint
Common Mistakes
Using -ne instead of -eq
Using -lt or -gt which check less or greater than
2fill in blank
medium

Complete the code to check if the value is less than 5.

PowerShell
if ($value [1] 5) { Write-Output "Less than 5" }
Drag options to blanks, or click blank then click option'
A-eq
B-ge
C-lt
D-ne
Attempts:
3 left
💡 Hint
Common Mistakes
Using -ge which means greater or equal
Using -eq which means equal
3fill in blank
hard

Fix the error in the code to check if $a is not equal to $b.

PowerShell
if ($a [1] $b) { Write-Output "Not equal" }
Drag options to blanks, or click blank then click option'
A-eq
B-gt
C-lt
D-ne
Attempts:
3 left
💡 Hint
Common Mistakes
Using -eq which means equal
Using -lt or -gt which check less or greater than
4fill in blank
hard

Fill both blanks to check if $x is greater than 5 and less than 10.

PowerShell
if (($x [1] 5) -and ($x [2] 10)) { Write-Output "Between 5 and 10" }
Drag options to blanks, or click blank then click option'
A-gt
B-lt
C-eq
D-ne
Attempts:
3 left
💡 Hint
Common Mistakes
Using -eq or -ne instead of comparison operators
Mixing up greater and less than
5fill in blank
hard

Fill all three blanks to create a dictionary with keys as uppercase words and values as their lengths if length is greater than 3.

PowerShell
$result = @{}; foreach ($word in $words) { if (([1] = $word.ToUpper()) -and ($word.Length [2] 3)) { $result[[3]] = $word.Length } }
Drag options to blanks, or click blank then click option'
A$key
B-gt
C$word
D$word.ToUpper()
Attempts:
3 left
💡 Hint
Common Mistakes
Using $word instead of uppercase for key
Using -lt instead of -gt
Using $word instead of $key as dictionary key

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