Softenant
Technologies
Python Strings MCQs (25) — Answers at the End

Python Strings MCQs (25)

Python Training in Vizag (Softenant)

1) Indexing

s = "abc"
print(s[1])
A. a
B. b
C. c
D. IndexError

2) Slicing (stop exclusive)

s = "python"
print(s[1:4])
A. pyt
B. yth
C. ytho
D. on

3) Negative index

s = "abc"
print(s[-1])
A. a
B. b
C. c
D. IndexError

4) Immutability

s = "hi"
s[0] = "H"
A. Works → “Hi”
B. TypeError
C. ValueError
D. No effect

5) Concatenation & repetition

print("py" + "thon", "ab" * 3)
A. python ababab
B. py thon ab
C. python ab
D. Error

6) find vs index

s = "data"
print(s.find("x"), end="; ")
try:
    print(s.index("x"))
except Exception as e:
    print(type(e).__name__)
A. -1; ValueError
B. -1; -1
C. 0; ValueError
D. ValueError; -1

7) Count

print("banana".count("an"))
A. 1
B. 2
C. 3
D. 0

8) Split on whitespace

s = "a  b   c"
print(s.split())
A. [‘a’,’ b’,’ c’]
B. [‘a’,’b’,’c’]
C. [‘a’,’b c’]
D. Error

9) join requires strings

print(",".join(["1","2","3"]))
A. 1,2,3
B. [‘1′,’2′,’3’]
C. TypeError
D. (no output)

10) Case methods return new strings

s = "Py"
t = s.lower()
print(s, t)
A. py py
B. Py py
C. Py Py
D. py Py

11) Replace

s = "aaaa"
print(s.replace("aa","b"))
A. bb
B. abaa
C. baaa
D. aaaa

12) Starts/Ends

s = "hello.py"
print(s.startswith("he"), s.endswith(".py"))
A. True False
B. True True
C. False True
D. False False

13) Strip

s = "  x  "
print(len(s.strip()))
A. 1
B. 3
C. 5
D. 0

14) Reverse with slicing

print("abcd"[::-1])
A. abcd
B. dcba
C. abc
D. Error

15) Membership

s = "hello"
print("ell" in s, "z" in s)
A. True True
B. True False
C. False True
D. False False

16) ord / chr

print(chr(97), ord('a'))
A. a 97
B. 97 a
C. a a
D. 97 97

17) f-strings evaluate expressions

a = 2
print(f"{a+3}")
A. 23
B. 5
C. a+3
D. {a+3}

18) format spec

x = 3.14159
print("{:.2f}".format(x))
A. 3.14
B. 3.15
C. 3.14159
D. .2f

19) Unicode escape

s = "\u00E9"
print(s, len(s))
A. é 1
B. \u00E9 4
C. é 2
D. Error

20) find not found

print("abc".find("z"))
A. None
B. -1
C. 0
D. ValueError

21) partition vs split

print("a=b=c".partition("="))
A. (‘a’,’=’, ‘b=c’)
B. [‘a’,’b’,’c’]
C. (‘a’,’=’, ‘b’,’=’, ‘c’)
D. (‘a’,’=’, ‘b’)

22) title()

print("hello world".title())
A. Hello world
B. HELLO WORLD
C. Hello World
D. hello World

23) isdigit (simple)

print("123".isdigit(), "12a".isdigit())
A. True True
B. True False
C. False True
D. False False

24) Out-of-range slice is safe

s = "abc"
print(s[10:])
A. ” (empty)
B. IndexError
C. ‘c’
D. None

25) Padding with zfill

print("7".zfill(3))
A. 007
B. 070
C. 700
D. ‘ 7’

Answer Key

1) B

2) B

3) C

4) B

5) A

6) A

7) B

8) B

9) A

10) B

11) A

12) B

13) A

14) B

15) B

16) A

17) B

18) A

19) A

20) B

21) A

22) C

23) B

24) A

25) A