Learn Python List Comprehension by Building a Case Converter Program - Step 13

Tell us what’s happening:

When I do what the code says to do it raises the error “TypeError: ‘str’ object is not callable”

Your code so far

def convert_to_snake_case(pascal_or_camel_cased_string):
    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


# User Editable Region

def main():
    print(convert_to_snake_case('aLongAndComplexString'))
if __name__ == '__main__'():
    pass

# User Editable Region

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0

Challenge Information:

Learn Python List Comprehension by Building a Case Converter Program - Step 13

check whether __name__ == '__main__'.

Double check your if statement condition.

“TypeError: ‘str’ object is not callable”

You can consider the error as well. You are trying to “call” a string which is not “callable”. How do you call a function? Can you see where you are trying to call a function, but it’s not a function?

It’s simpler than you think, I spent a lot of time on this but realised it’s saying in a literal sense, call main() (the function), you will see the right print before you’ve even hit submit :slight_smile: