Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
String formatting using f-strings
📖 Scenario: You are creating a simple program to display information about a book in a friendly way. You want to show the book's title, author, and year of publication in a sentence.
🎯 Goal: Build a program that uses f-strings to format and display a sentence with the book's details.
📋 What You'll Learn
Create variables for the book's title, author, and year.
Create a variable for a short message prefix.
Use an f-string to combine the variables into a full sentence.
Print the formatted sentence.
💡 Why This Matters
🌍 Real World
Formatting strings nicely is useful for showing information clearly in apps, reports, or messages.
💼 Career
Many programming jobs require creating readable output for users, and f-strings make this easy and clean.
Progress0 / 4 steps
1
Create variables for book details
Create three variables: title with the value "The Great Gatsby", author with the value "F. Scott Fitzgerald", and year with the value 1925.
Python
Hint
Use simple assignment statements to create the variables with the exact names and values.
2
Create a message prefix variable
Create a variable called message and set it to the string "Book Info:".
Python
Hint
Just assign the string to the variable message.
3
Create a formatted string using f-string
Create a variable called formatted that uses an f-string to combine message, title, author, and year into this exact sentence: Book Info: "The Great Gatsby" by F. Scott Fitzgerald, published in 1925.
Python
Hint
Use an f-string with curly braces to insert the variables inside the string.
4
Print the formatted string
Write a print statement to display the formatted string.
Python
Hint
Use print(formatted) to show the final sentence.
Practice
(1/5)
1. What is the main purpose of using f-strings in Python?
easy
A. To easily insert variables or expressions inside strings
B. To create lists from strings
C. To convert strings to uppercase
D. To repeat strings multiple times
Solution
Step 1: Understand f-string usage
F-strings allow embedding variables or expressions inside strings using curly braces {}.
Step 2: Compare options
Only To easily insert variables or expressions inside strings describes this purpose correctly; others describe unrelated string operations.
Final Answer:
To easily insert variables or expressions inside strings -> Option A
Quick Check:
f-strings = insert variables in strings [OK]
Hint: Remember: f-strings embed variables with curly braces {} [OK]
Common Mistakes:
Confusing f-strings with string methods like upper()
Thinking f-strings create lists
Assuming f-strings repeat strings
2. Which of the following is the correct syntax to use an f-string to insert variable name into a string?
easy
A. "Hello, $name!"
B. f"Hello, {name}!"
C. f'Hello, $name!'
D. "Hello, {name}!"
Solution
Step 1: Identify f-string syntax
An f-string starts with the letter f before the quotes and uses curly braces {} to insert variables.
Step 2: Check each option
f"Hello, {name}!" correctly uses f"Hello, {name}!". Options A and B lack the f prefix, and C uses incorrect syntax with $name.
Final Answer:
f"Hello, {name}!" -> Option B
Quick Check:
f-string = f"text {var}" [OK]
Hint: f-string must start with f and use {variable} inside quotes [OK]
Common Mistakes:
Omitting the f before the string
Using $ instead of curly braces
Using single quotes without f prefix
3. What will be the output of this code?
name = "Alice"
age = 30
print(f"{name} is {age} years old.")
medium
A. name is age years old.
B. {name} is {age} years old.
C. SyntaxError
D. Alice is 30 years old.
Solution
Step 1: Evaluate variables inside f-string
The variables name and age are replaced by their values "Alice" and 30 inside the string.
Step 2: Understand print output
The print statement outputs the string with variables replaced: "Alice is 30 years old.".
Final Answer:
Alice is 30 years old. -> Option D
Quick Check:
f-string replaces {name} and {age} with values [OK]
Hint: f-string prints variable values, not variable names [OK]
Common Mistakes:
Expecting curly braces to print literally
Confusing variable names with values
Thinking f-string causes syntax error here
4. Find the error in this code snippet:
age = 25
print(f"Age is {age")
medium
A. Missing closing brace '}' in f-string
B. Missing f before the string
C. Variable age is not defined
D. Incorrect use of quotes
Solution
Step 1: Check f-string braces
The f-string has an opening brace { but no matching closing brace }, causing a syntax error.
Step 2: Verify other parts
The f prefix is present, variable age is defined, and quotes are correct.
Final Answer:
Missing closing brace '}' in f-string -> Option A
Quick Check:
Every { must have a matching } in f-string [OK]
Hint: Count braces in f-string; each { needs a } [OK]
Common Mistakes:
Forgetting to close curly braces
Thinking missing f causes this error
Assuming variable is undefined
5. You want to print the price of an item with 2 decimal places using f-strings. Which code correctly formats the price variable?
price = 9.8765
# Choose the correct print statement
hard
A. print(f"Price: ${price:2f}")
B. print(f"Price: ${price:.2}")
C. print(f"Price: ${price:.2f}")
D. print(f"Price: ${price:.2d}")
Solution
Step 1: Understand format specifier for decimals
To format a float with 2 decimal places, use :.2f inside the curly braces.
Step 2: Check each option
print(f"Price: ${price:.2f}") uses {price:.2f} correctly. print(f"Price: ${price:2f}") misses the dot, print(f"Price: ${price:.2}") misses the type specifier, and print(f"Price: ${price:.2d}") uses invalid d for decimals.
Final Answer:
print(f"Price: ${price:.2f}") -> Option C
Quick Check:
Use :.2f to format float with 2 decimals [OK]
Hint: Use :.2f inside {} to show 2 decimal places [OK]