Back to Freecodecamp

Step 22

curriculum/challenges/english/blocks/learn-list-comprehension-by-building-a-case-converter-program/657f4a4a5828a01de04b652f.md

latest1.4 KB
Original Source

--description--

Get rid of the commented lines of code inside the convert_to_snake_case() function to clean up the function definition.

--hints--

You should not have any commented line of code in the convert_to_snake_case() function at all.

js
({
    test: () => {
        const transformedCode = code.replace(/\r/g, "");
        const convert_to_snake_case = __helpers.python.getDef("\n" + transformedCode, "convert_to_snake_case");
        const { function_body } = convert_to_snake_case;
        
        assert.equal(function_body.split("#").length - 1, 0);
    }
})

--seed--

--seed-contents--

py
def convert_to_snake_case(pascal_or_camel_cased_string):
--fcc-editable-region--
    # snake_cased_char_list = []
    # for char in pascal_or_camel_cased_string:
    #     if char.isupper():
    #         converted_character = '_' + char.lower()
    #         snake_cased_char_list.append(converted_character)
    #     else:
    #         snake_cased_char_list.append(char)
    # snake_cased_string = ''.join(snake_cased_char_list)
    # clean_snake_cased_string = snake_cased_string.strip('_')

    # return clean_snake_cased_string
--fcc-editable-region--

    snake_cased_char_list = [
        '_' + char.lower() if char.isupper()
        else char
        for char in pascal_or_camel_cased_string
    ]

    return ''.join(snake_cased_char_list).strip('_')

def main():
    print(convert_to_snake_case('aLongAndComplexString'))

main()