Build a User Configuration Manager - Build a User Configuration Manager

Tell us what’s happening:

Everything passes except for step 27. The output with my test settings looks correct, and I have made sure my code ends with a new line character. I’m not sure what else is needed or what I’m doing wrong.

Your code so far

test_settings = {
    'Theme': 'light',
    'Volume': 'medium',
    'notifications': 'enabled'
}
def add_setting(settings, pair):
    new_pair = tuple([string.lower() for string in pair])
    lower_keys = [key.lower() for key in settings]
    if new_pair[0] in lower_keys:
        return f"Setting '{new_pair[0]}' already exists! Cannot add a new setting with this name."
    else:
        settings[new_pair[0]] = new_pair[1]
        return f"Setting '{new_pair[0]}' added with value '{new_pair[1]}' successfully!"


def update_setting(settings,pair):
    new_pair = tuple([val.lower() for val in pair])
    lower_keys = [setting.lower() for setting in settings.keys()]
    if new_pair[0] in lower_keys:
        settings[new_pair[0]] = new_pair[1]
        return f"Setting '{new_pair[0]}' updated to '{new_pair[1]}' successfully!"
    else:
        return f"Setting '{new_pair[0]}' does not exist! Cannot update a non-existing setting."


def delete_setting(settings, key):
    lower_key = key.lower()
    if lower_key in [original_key.lower() for original_key in settings.keys()]:
        for dict_key in settings.keys():
            if dict_key.lower() == lower_key:
                del settings[dict_key]
                return f"Setting '{lower_key}' deleted successfully!"
            else:
                continue
    else:
        return "Setting not found!"


def view_settings(settings):
    if settings == {}:
        return "No settings available."
    else:
        lines = "Current User Settings: \n"
        for key in settings.keys():
            lines = lines + f"{key.capitalize()}: {settings[key]}" + "\n"
        return lines
        
print(view_settings(test_settings))

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/18.6 Safari/605.1.15

Challenge Information:

Build a User Configuration Manager - Build a User Configuration Manager

Welcome to the forum @joshven!

The string should start with Current User Settings: followed by the key-value pairs,

Should there be a space after “Current User Settings:”?

Happy coding!