Bird
Raised Fist0
Pythonprogramming~20 mins

String creation and representation in Python - Practice Problems & Coding Challenges

Choose your learning style10 modes available

Start learning this pattern below

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
Challenge - 5 Problems
๐ŸŽ–๏ธ
String Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
โ“ Predict Output
intermediate
2:00remaining
Output of multiline string with escape sequences
What is the output of this Python code?
Python
text = '''Line1\nLine2\tTabbed'''
print(text)
ALine1\nLine2\tTabbed
B
Line1
Line2	Tabbed
CLine1\nLine2 Tabbed
D
Line1
Line2\tTabbed
Attempts:
2 left
๐Ÿ’ก Hint
Triple quotes preserve the string exactly as typed, including backslashes.
โ“ Predict Output
intermediate
2:00remaining
Output of raw string with backslashes
What will this code print?
Python
path = r"C:\new_folder\test"
print(path)
AC:\\new_folder\\test
B
C:
ew_folder	est
CC:new_foldertest
DC:\new_folder\test
Attempts:
2 left
๐Ÿ’ก Hint
Raw strings treat backslashes as normal characters.
โ“ Predict Output
advanced
2:00remaining
Output of string concatenation with different quote styles
What is the output of this code?
Python
s = 'Hello' + " World" + '''!'''
print(s)
AHello World!
BHelloWorld!
CHello World
DHello' World'''
Attempts:
2 left
๐Ÿ’ก Hint
Strings with different quotes can be concatenated normally.
โ“ Predict Output
advanced
2:00remaining
Output of string with Unicode escape sequences
What does this code print?
Python
s = "\u0048\u0065llo"
print(s)
A\u0048\u0065llo
BH\u0065llo
CHello
DHe\u006c\u006c\u006f
Attempts:
2 left
๐Ÿ’ก Hint
Unicode escape sequences represent characters by their code points.
๐Ÿง  Conceptual
expert
3:00remaining
Number of characters in a string with combining Unicode characters
How many characters does this string have? s = "e\u0301" # letter e + combining acute accent
A1
B2
C0
D3
Attempts:
2 left
๐Ÿ’ก Hint
Combining characters count as separate code points in Python strings.

Practice

(1/5)
1. Which of the following is a correct way to create a string in Python?
easy
A. text = Hello'
B. text = Hello
C. text = 'Hello'
D. text = """Hello

Solution

  1. Step 1: Check string delimiters

    Python strings must be enclosed in matching quotes: single ('') or double (\"\").
  2. Step 2: Validate each option

    text = 'Hello' uses single quotes correctly. text = Hello misses quotes. text = Hello' has mismatched quotes. text = """Hello has unclosed triple quotes.
  3. Final Answer:

    text = 'Hello' -> Option C
  4. Quick Check:

    Strings need matching quotes = A [OK]
Hint: Strings always need matching quotes around text [OK]
Common Mistakes:
  • Forgetting quotes around text
  • Using mismatched quotes
  • Leaving quotes unclosed
2. Which of the following is the correct syntax to create a multi-line string in Python?
easy
A. text = '''Hello World'''
B. text = "Hello\nWorld"
C. text = 'Hello\nWorld'
D. text = '''Hello\nWorld'''

Solution

  1. Step 1: Understand multi-line string syntax

    Triple quotes (''' or """) allow writing strings across multiple lines without escape characters.
  2. Step 2: Analyze options

    Options A and B use single/double quotes with escaped newline, which works but is not multi-line string creation. text = '''Hello\nWorld''' uses triple quotes but escapes newline, so it shows literal \n. text = '''Hello World''' uses triple quotes with actual newline, creating a true multi-line string.
  3. Final Answer:

    text = '''Hello World''' -> Option A
  4. Quick Check:

    Triple quotes with real newlines = C [OK]
Hint: Use triple quotes and press Enter for multi-line strings [OK]
Common Mistakes:
  • Using single or double quotes for multi-line text
  • Escaping newlines inside triple quotes
  • Confusing escaped \n with actual newlines
3. What will be the output of the following code?
text = '''Hello
World'''
print(text)
medium
A. Hello\nWorld
B. Hello World
C. Hello World
D. SyntaxError

Solution

  1. Step 1: Understand triple-quoted string behavior

    Triple quotes preserve newlines inside the string as actual line breaks.
  2. Step 2: Analyze the string content and print output

    The \n escape sequence in the triple-quoted string is interpreted as a newline character, so the string content is 'Hello' + newline + 'World'. Thus, print(text) outputs two lines: 'Hello' then 'World' on the next line.
  3. Final Answer:

    Hello World (two lines) -> Option B
  4. Quick Check:

    Triple quotes keep newlines = A [OK]
Hint: Triple quotes print newlines as line breaks, not \n text [OK]
Common Mistakes:
  • Confusing escaped \n with actual newline
  • Expecting literal \n to print as two characters
  • Thinking triple quotes cause syntax error
4. The following code throws an error. What is the problem?
text = 'It's a sunny day'
medium
A. Missing escape for single quote inside string
B. Using double quotes instead of single quotes
C. Triple quotes needed for single quotes inside
D. No error, code is correct

Solution

  1. Step 1: Identify the string delimiter and content

    The string uses single quotes to start and end, but contains an unescaped single quote inside (in "It's").
  2. Step 2: Understand why error occurs

    The inner single quote ends the string early, causing a syntax error. It needs to be escaped with a backslash or use double/triple quotes.
  3. Final Answer:

    Missing escape for single quote inside string -> Option A
  4. Quick Check:

    Escape inner quotes or use different quotes = D [OK]
Hint: Escape inner quotes or use different quote types [OK]
Common Mistakes:
  • Ignoring escape for inner quotes
  • Assuming single quotes inside single quotes are allowed
  • Not using triple quotes for complex strings
5. You want to create a dictionary where keys are words and values are their lengths from a multi-line string. Which code correctly creates this dictionary?
text = '''apple\nbanana\ncherry\n'''
# Fill in the blank:
d = {word: len(word) for word in _____}
hard
A. text.split()
B. text.split(' ')
C. text.split('\n')
D. text.splitlines()

Solution

  1. Step 1: Understand the string and splitting methods

    The string ends with a newline ('''apple\nbanana\ncherry\n'''). splitlines() and split('\n') include a trailing empty string ''. split() splits on all whitespace (including newlines) and discards empty fields. split(' ') ignores newlines.
  2. Step 2: Choose the method that avoids extra empty key

    split() produces exactly {'apple':5, 'banana':6, 'cherry':6} without '' : 0.
  3. Final Answer:

    text.splitlines() -> Option D
  4. Quick Check:

    splitlines() handles newlines cleanly = B [OK]
Hint: Use splitlines() to split on newlines cleanly [OK]
Common Mistakes:
  • Using split() which discards empty lines but may split on other whitespace
  • Using split('\n') which includes trailing empty string
  • Using split(' ') which misses newlines