Bird
Raised Fist0
DSA Pythonprogramming~20 mins

String Traversal and Character Access in DSA Python - Practice Problems & Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
String Traversal Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of character access in a loop
What is the output of the following code snippet?
DSA Python
s = "hello"
result = []
for i in range(len(s)):
    if i % 2 == 0:
        result.append(s[i])
print(''.join(result))
Ahlo
Bel
Chello
Dheo
Attempts:
2 left
💡 Hint
Look at characters at even indexes only.
❓ Predict Output
intermediate
2:00remaining
Output of negative indexing in string
What will be printed by this code?
DSA Python
s = "world"
print(s[-1] + s[-2] + s[-5])
Adlo
Bdlw
Cdwl
Dwrd
Attempts:
2 left
💡 Hint
Negative indexes count from the end starting at -1.
🔧 Debug
advanced
2:00remaining
Identify the error in string character access
What error does this code raise when executed?
DSA Python
s = "data"
for i in range(len(s)+1):
    print(s[i])
AIndexError
BTypeError
CSyntaxError
DNo error, prints all characters
Attempts:
2 left
💡 Hint
Check the range and valid indexes for string s.
❓ Predict Output
advanced
2:00remaining
Output of slicing with step in string
What is the output of this code?
DSA Python
s = "algorithm"
print(s[1:8:2])
Alorm
Blghm
Clgih
Dloih
Attempts:
2 left
💡 Hint
Slice from index 1 to 7 with step 2.
🧠 Conceptual
expert
2:00remaining
Count of unique characters accessed in loop
Consider the code below. How many unique characters are printed?
DSA Python
s = "abracadabra"
seen = set()
for i in range(len(s)):
    if s[i] not in seen:
        print(s[i], end='')
        seen.add(s[i])
A6
B7
C5
D8
Attempts:
2 left
💡 Hint
Count distinct characters in the string.

Practice

(1/5)
1. What does the expression my_string[2] return when my_string = 'hello'?
easy
A. An error because index 2 is out of range
B. The first character 'h'
C. The third character 'l'
D. The last character 'o'

Solution

  1. Step 1: Understand string indexing

    Strings in Python start indexing at 0, so index 2 means the third character.
  2. Step 2: Identify the character at index 2

    In 'hello', index 0='h', index 1='e', index 2='l'.
  3. Final Answer:

    The third character 'l' -> Option C
  4. Quick Check:

    Index 2 of 'hello' is 'l' [OK]
Hint: Remember string indexing starts at zero [OK]
Common Mistakes:
  • Thinking indexing starts at 1
  • Confusing index 2 with last character
  • Assuming index 2 is out of range
2. Which of the following is the correct way to loop through each character in the string text = 'abc'?
easy
A. for char in text: print(char)
B. for char in text[1]: print(char)
C. for i in range(text): print(i)
D. for i in text.length: print(text[i])

Solution

  1. Step 1: Understand how to loop over a string

    Using for char in text iterates over each character directly.
  2. Step 2: Check each option

    for i in range(text): print(i) tries to use range on a string (invalid). for char in text[1]: print(char) uses text[1] which is a single character, not iterable. for i in text.length: print(text[i]) uses text.length which is invalid in Python.
  3. Final Answer:

    for char in text: print(char) -> Option A
  4. Quick Check:

    Loop over string directly with for-in [OK]
Hint: Use 'for char in string' to loop characters [OK]
Common Mistakes:
  • Using range() directly on string
  • Using incorrect string length property
  • Trying to loop over a single character
3. What is the output of the following code?
word = 'python'
result = ''
for i in range(len(word)):
    if i % 2 == 0:
        result += word[i]
print(result)
medium
A. pyo
B. pto
C. pyhn
D. pthn

Solution

  1. Step 1: Understand the loop and condition

    The loop runs from i=0 to i=5 (length 6). It adds characters at even indices (0,2,4).
  2. Step 2: Identify characters at even indices

    word[0]='p', word[2]='t', word[4]='o'. Concatenate: 'pto'.
  3. Final Answer:

    pto -> Option B
  4. Quick Check:

    Even indices form 'pto' [OK]
Hint: Pick characters at even indexes using modulo [OK]
Common Mistakes:
  • Including characters at odd indexes
  • Confusing index counting starting at 1
  • Adding characters incorrectly
4. Find the error in the following code that tries to print each character of text = 'data':
for i in range(len(text)):
    print(text(i))
medium
A. Using parentheses instead of square brackets for indexing
B. Missing colon after for loop
C. Using len() on string is invalid
D. Variable i is not defined

Solution

  1. Step 1: Identify the indexing syntax error

    In Python, to access a character by index, square brackets [] are used, not parentheses ().
  2. Step 2: Check the code line

    The code uses text(i) which is a function call, causing a TypeError.
  3. Final Answer:

    Using parentheses instead of square brackets for indexing -> Option A
  4. Quick Check:

    Use text[i] to access characters, not text(i) [OK]
Hint: Use square brackets [] for indexing strings [OK]
Common Mistakes:
  • Using parentheses instead of brackets
  • Forgetting colon after for loop (not here)
  • Misunderstanding len() usage
5. Given the string s = 'abracddabba', write code to create a new string containing only the characters at odd indices. What is the resulting string?
hard
A. bacdbr
B. brcdr
C. aracaa
D. badab

Solution

  1. Step 1: Identify odd indices in the string

    Indices start at 0. Odd indices are 1,3,5,7,9.
  2. Step 2: Extract characters at odd indices

    Characters: s[1]='b', s[3]='a', s[5]='d', s[7]='a', s[9]='b'. Concatenate: 'b'+'a'+'d'+'a'+'b' = 'badab'.
  3. Final Answer:

    badab -> Option D
  4. Quick Check:

    Characters at odd positions form 'badab' [OK]
Hint: Pick characters where index % 2 == 1 [OK]
Common Mistakes:
  • Including even indices
  • Starting index count at 1 instead of 0
  • Mixing up characters order
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