Build a User Configuration Manager - Build a User Configuration Manager

Tell us what’s happening:

Unable to pass the 27th condition. Even after adding the new-line character.

Your code so far

test_settings = {
    "theme": "dark",
    "volume": "high"
}

def add_setting(settings, pair):
    key = pair[0].lower()
    value = pair[1].lower()

    if key in settings:
        return f"Setting '{key}' already exists! Cannot add a new setting with this name."

    settings[key] = value
    return f"Setting '{key}' added with value '{value}' successfully!"


def update_setting(settings,pair):
    key = pair[0].lower()
    value = pair[1].lower()

    if key not in settings:
        return f"Setting '{key}' does not exist! Cannot update a non-existing setting."

    settings[key] = value
    return f"Setting '{key}' updated to '{value}' successfully!"
    
def delete_setting(settings,key):
    key = key.lower()

    if key in settings:
        del settings[key]
        return f"Setting '{key}' deleted successfully!"

    return "Setting not found!"


def view_settings(settings):
    if not settings:
        return "No settings available."

    result = "Current User Settings:"
    for key, value in settings.items():
        key_capitalized = key.capitalize()
        result += f"\n{key_capitalized}: {value}\n"

    return result

print(view_settings(test_settings))

Your browser information:

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

Challenge Information:

Build a User Configuration Manager - Build a User Configuration Manager

Current User Settings:
Theme: dark

Notifications: enabled

Volume: high


Doesn’t quite look right?

  • For example, view_settings({'theme': 'dark', 'notifications': 'enabled', 'volume': 'high'}) should return:
Current User Settings:
Theme: dark
Notifications: enabled
Volume: high

Even after passing the key-values into the view_settings. 27th condition isn’t satisfied. How to resolve this?!

test_settings = {
    "theme": "dark",
    "notifications": "enabled",
    "volume": "high"
}

def add_setting(settings, pair):
    key = pair[0].lower()
    value = pair[1].lower()

    if key in settings:
        return f"Setting '{key}' already exists! Cannot add a new setting with this name."

    settings[key] = value
    return f"Setting '{key}' added with value '{value}' successfully!"


def update_setting(settings,pair):
    key = pair[0].lower()
    value = pair[1].lower()

    if key not in settings:
        return f"Setting '{key}' does not exist! Cannot update a non-existing setting."

    settings[key] = value
    return f"Setting '{key}' updated to '{value}' successfully!"
    
def delete_setting(settings,key):
    key = key.lower()

    if key in settings:
        del settings[key]
        return f"Setting '{key}' deleted successfully!"

    return "Setting not found!"


def view_settings(settings):
    if not settings:
        return "No settings available."

    result = "Current User Settings:"
    for key, value in settings.items():
        key_capitalized = key.capitalize()
        result += f"\n{key_capitalized}: {value}\n"

    return result

print(view_settings(
{'theme': 'dark', 'notifications': 'enabled', 'volume': 'high'}))

notice how your return has empty lines, the example code does not have empty lines

1 Like

@pkdvalis, Thank you. Understood what’s the mistake. Now it’s passing all the condition.

1 Like

@ILM , figured out what was wrong. Now it’s working fine

1 Like

give us a hint what it was :smiley:

never mind, got it ………….

@Gopher11 if you need help create your own topic

If you have a question about a specific challenge as it relates to your written code for that challenge and need some help, click the Get Help > Ask for Help button located on the challenge.

The Ask for Help button will create a new topic with all code you have written and include a link to the challenge also. You will still be able to ask any questions in the post before submitting it to the forum.

Thank you.