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

Tell us what’s happening:

I do not know how to solve this step :< anyone, pleaseee?

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 = [
    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)]

# 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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6 Safari/605.1.15

Challenge Information:

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

You want to move from this:

[expression for i in iterable if condition]

to this:

[expression if condition else expression2 for i in iterable]

Note that you must not use colons in there. I suggest you to reset the code for this step. Then, you can move the if char.isupper() part right before the for keyword, and add the else construct there.

I hope this helps.

1 Like