Home

to Lower case


This post is part of the Algorithms Problem Solving series.

Problem description

This is the To Lower Case problem. The description looks like this:

Implement function ToLowerCase() that has a string parameter str, and returns the same string in lowercase.

Examples

Example 1:
Input: "Hello"
Output: "hello"

Example 2:
Input: "here"
Output: "here"

Example 3:
Input: "LOVELY"
Output: "lovely"

Solution

My solution to this problem was to iterate through the entire string, and for each character, I append its lower case version. To verify if it needs to transform the character to lower case, I simply get the integer representation of the Unicode character by using the ord function. If it is between 65 and 90, both inclusive, the character is capitalized, so I need to transform it to lower case.

To transform to lower case, I just need to:

After the process of each character, I have my list of lower case characters. Then, I just need to join all the characters to get my final string back.

def lower_case_char(char):
    if ord(char) >= 65 and ord(char) <= 90:
        return chr(ord(char) + 32)

    return char

def lower_case(str):
    list_of_chars = []

    for char in str:
        list_of_chars.append(lower_case_char(char))

    return ''.join(list_of_chars)

Resources

Patreon Become a Patron Coffee icon Buy me a coffee