Courseiva
Strings →easyMultiple Choice

PCAP Strings Practice Question

What is the result of the expression 'aBc'.lower()?

⚠ Common exam trap

Python Institute often tests whether candidates understand that `.lower()` does not modify the original string but returns a new one, and that it only affects uppercase letters, not other characters like digits or symbols.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

✓

'abc'

The `lower()` method returns a new string with all cased characters converted to lowercase. Since the original string 'aBc' contains an uppercase 'B', calling `.lower()` converts it to 'b', resulting in 'abc'. The method does not modify the original string but returns a new one.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✓

    'abc'

    Why this is correct

    Calling lower() on the string 'aBc' returns a new string where every cased character has been converted to its lowercase form: the leading 'a' is already lowercase and stays 'a', while the uppercase 'B' becomes 'b'. The result is therefore exactly 'abc' — a three-character string with no uppercase letters remaining. This is the documented behavior of str.lower() in Python.

  • ✗

    'Abc'

    Why it's wrong here

    'Abc' is incorrect because it suggests that the first character was capitalized or that the method somehow preserved an uppercase 'A' when none existed. The original string 'aBc' starts with a lowercase 'a', so lower() leaves that character unchanged; it only converts the uppercase 'B' to 'b'. A result beginning with 'A' would require an input already containing 'A' or the use of a different method like capitalize() or title().

  • ✗

    'aBc'

    Why it's wrong here

    'aBc' is the original, unmodified string, but str.lower() does not mutate the object — it returns a brand-new string with all uppercase characters converted. In fact, even if the input were already entirely lowercase, Python would still allocate a new string object (though an implementation may sometimes reuse the same object for optimization, the documented contract is a new string). Because the original contains an uppercase 'B', the return value must differ from the input, so 'aBc' cannot be the output.

  • ✗

    'ABC'

    Why it's wrong here

    'ABC' would be produced by str.upper(), which converts every lowercase character to uppercase — exactly the reverse of lower(). Since lower() only creates lowercase output, an 'A' at the start would require the original to have an uppercase 'A' or for the method to perform case folding in the opposite direction. The input 'aBc' contains no uppercase 'A', and lower() never capitalizes, so 'ABC' is unambiguously the result of the wrong operation.

About these practice questions

This PCAP question is part of Courseiva's 421-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This PCAP practice question is part of Courseiva's free Python Institute certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the PCAP exam.