Build a User Configuration Manager

Need help with step 27 , I am geeting output which suppose to come but i don’t understend what is the issue :

test_settings = {
    'Theme' : 'dark',
    'Notification' : 'enabled',
    'Volume' : 'high'
}
def add_setting(settings, new_settings):
    key = str(new_settings[0].lower())
    value = str(new_settings[1].lower())

    if key in settings:
        return f"Setting '{key}' already exists! Cannot add a new setting with this name."
    else: 
        settings.update({key:value})
        return f"Setting '{key}' added with value '{value}' successfully!"

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

    if key in settings:
        settings.update({key:value})
        return f"Setting '{key}' updated to '{value}' successfully!"
    else:
        return f"Setting '{key}' does not exist! Cannot update a non-existing setting."

def delete_setting(settings, new_settings):
    key = str(new_settings.lower())

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

def view_settings(settings):

    if not settings:
        return f"No settings available."
    
    output = ["Current User Settings:"]
    for key, value in settings.items():
        output.append(f"{key.capitalize()}: {value.lower()}")
    return "\n".join(output) +"\n"

print(view_settings(test_settings))

Were you asked to lower() the value? Does that even make sense if add_setting and update_setting are lowering both the key and value before they are added to the dictionary?

Remember that when you use someone’s code from the forum, you are also getting their errors.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.