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

Tell us what’s happening:

The solution I have is correct and working but isnt clearing the test and I am unable to preoceed. Can someone help???

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
    snake_cased_char_list = ['_' + char.lower() if char.isupper() else char.lower() for char in pascal_or_camel_cased_string]
# User Editable Region
    return ''.join(snake_cased_char_list).strip('_')

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

main()

Your browser information:

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

Challenge Information:

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

GitHub Link: https://github.com/freeCodeCamp/freeCodeCamp/blob/main/curriculum/challenges/english/blocks/learn-list-comprehension-by-building-a-case-converter-program/657f465f8e718b19c5105ae5.md

spam = [i * 2 for i in iterable if i > 0]

Follow the example above to add an if clause to your list comprehension

I don’t think you follow the example above. Here is the original line:

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

Compare with the example and think about where the if goes and see how there is no else