Bird
Raised Fist0
PowerShellscripting~10 mins

Formatting with -f operator 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 format the string with the variable $name.

PowerShell
"Hello, {0}!" [1] $name
Drag options to blanks, or click blank then click option'
A%
B-f
C*
D+
Attempts:
3 left
💡 Hint
Common Mistakes
Using + instead of -f for string formatting.
Using * or % which are arithmetic operators.
2fill in blank
medium

Complete the code to format two variables $first and $last into a full name.

PowerShell
"{0} {1}" [1] $first, $last
Drag options to blanks, or click blank then click option'
A+
B*
C-f
D%
Attempts:
3 left
💡 Hint
Common Mistakes
Using + to concatenate instead of -f for formatting.
Using * or % which do not format strings.
3fill in blank
hard

Fix the error in the code to correctly format the number with two decimal places.

PowerShell
"{0:N2}" [1] $number
Drag options to blanks, or click blank then click option'
A-f
B+
C*
D%
Attempts:
3 left
💡 Hint
Common Mistakes
Using + instead of -f causes a concatenation error.
Using * or % which are not string formatting operators.
4fill in blank
hard

Fill all three blanks to format the date and time using the -f operator.

PowerShell
"Date: {0:yyyy-MM-dd}, Time: {1:HH:mm}" [1] [2], [3]
Drag options to blanks, or click blank then click option'
A-f
B$date
C$time
D+
Attempts:
3 left
💡 Hint
Common Mistakes
Using + instead of -f for formatting.
Mixing up the order of variables.
5fill in blank
hard

Fill all four blanks to format a string with name, age, and city using the -f operator.

PowerShell
"Name: {0}, Age: {1}, City: {2}" [1] [2], [3], [4]
Drag options to blanks, or click blank then click option'
A-f
B$name
C$age
D$city
Attempts:
3 left
💡 Hint
Common Mistakes
Using + instead of -f.
Incorrect order of variables.
Missing commas between variables.

Practice

(1/5)
1. What does the -f operator do in PowerShell?
easy
A. It formats a string by replacing placeholders with values.
B. It runs a loop over a list of items.
C. It defines a function in a script.
D. It comments out a line of code.

Solution

  1. Step 1: Understand the role of -f operator

    The -f operator is used to format strings by inserting values into placeholders like {0}, {1}.
  2. Step 2: Compare with other options

    Options A, C, and D describe unrelated PowerShell features: loops, functions, and comments.
  3. Final Answer:

    It formats a string by replacing placeholders with values. -> Option A
  4. Quick Check:

    Formatting strings = B [OK]
Hint: Remember: -f means format string with placeholders [OK]
Common Mistakes:
  • Confusing -f with loop or function syntax
  • Thinking -f comments code
  • Assuming -f runs commands
2. Which of the following is the correct syntax to insert two variables $name and $age into a string using the -f operator?
easy
A. "Name: {0} Age: {1}" -f ($name $age)
B. "Name: $name, Age: $age" -f
C. "Name: {1}, Age: {0}" -f $name, $age
D. "Name: {0}, Age: {1}" -f $name, $age

Solution

  1. Step 1: Check placeholder order and variables

    Placeholders {0} and {1} correspond to the first and second variables after -f, so {0} = $name, {1} = $age.
  2. Step 2: Validate syntax correctness

    "Name: {0}, Age: {1}" -f $name, $age correctly uses commas to separate variables and matches placeholders. "Name: $name, Age: $age" -f does not use placeholders. "Name: {1}, Age: {0}" -f $name, $age swaps placeholders incorrectly. "Name: {0} Age: {1}" -f ($name $age) has invalid syntax with parentheses and missing comma.
  3. Final Answer:

    "Name: {0}, Age: {1}" -f $name, $age -> Option D
  4. Quick Check:

    Correct placeholder order and syntax = A [OK]
Hint: Match {0}, {1} to variables in order, separate with commas [OK]
Common Mistakes:
  • Swapping placeholder numbers incorrectly
  • Omitting commas between variables
  • Using variables directly without placeholders
3. What is the output of this PowerShell command?
$num = 7.12345
"Rounded number: {0:N2}" -f $num
medium
A. Rounded number: 7
B. Rounded number: 7.12345
C. Rounded number: 7.12
D. Rounded number: 7.1

Solution

  1. Step 1: Understand the format specifier N2

    The format specifier 'N2' means number with 2 decimal places, rounding the value.
  2. Step 2: Apply formatting to the number

    $num = 7.12345 rounded to 2 decimals is 7.12, so the output string is "Rounded number: 7.12".
  3. Final Answer:

    Rounded number: 7.12 -> Option C
  4. Quick Check:

    Number format N2 rounds to 2 decimals = D [OK]
Hint: N2 means number with 2 decimals, rounds automatically [OK]
Common Mistakes:
  • Ignoring rounding and printing full decimals
  • Confusing N2 with other formats
  • Missing the decimal places
4. Identify the error in this PowerShell formatting command:
"User: {0}, Score: {1}" -f $user
medium
A. Missing second argument for {1} placeholder
B. Incorrect placeholder syntax
C. Variables should be inside the string, not after -f
D. The -f operator cannot format strings

Solution

  1. Step 1: Count placeholders and arguments

    The string has two placeholders: {0} and {1}, but only one argument ($user) is provided after -f.
  2. Step 2: Understand the consequence

    Because {1} has no matching argument, this causes an error or unexpected output.
  3. Final Answer:

    Missing second argument for {1} placeholder -> Option A
  4. Quick Check:

    Placeholders must match arguments count = C [OK]
Hint: Count placeholders and arguments; they must match [OK]
Common Mistakes:
  • Providing fewer arguments than placeholders
  • Misunderstanding placeholder numbering
  • Thinking variables go inside string without -f
5. You want to format a list of product prices to show as currency with 2 decimals using the -f operator inside a loop. Which code snippet correctly formats each price stored in $prices array?
hard
A. foreach ($p in $prices) { "Price: $p:C2" }
B. foreach ($p in $prices) { "Price: {0:C2}" -f $p }
C. foreach ($p in $prices) { "Price: {1:C2}" -f $p }
D. foreach ($p in $prices) { "Price: {0:C}" -f $prices }

Solution

  1. Step 1: Understand the currency format specifier

    The format specifier 'C2' formats a number as currency with 2 decimal places.
  2. Step 2: Check loop and placeholder usage

    foreach ($p in $prices) { "Price: {0:C2}" -f $p } correctly loops over each price $p and formats it with {0:C2} and passes $p as argument. foreach ($p in $prices) { "Price: $p:C2" } incorrectly tries to format inside string without -f. foreach ($p in $prices) { "Price: {1:C2}" -f $p } uses {1:C2} but only one argument is passed, causing error. foreach ($p in $prices) { "Price: {0:C}" -f $prices } passes entire array $prices instead of single price.
  3. Final Answer:

    foreach ($p in $prices) { "Price: {0:C2}" -f $p } -> Option B
  4. Quick Check:

    Loop each price with {0:C2} and $p argument = A [OK]
Hint: Use {0:C2} with single variable inside loop [OK]
Common Mistakes:
  • Using wrong placeholder index
  • Passing whole array instead of single item
  • Trying to format without -f operator
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