Build a User Configuration Manager - Build a User Configuration Manager

Tell us what’s happening:

can anyone help with task no 15 and 21. the code is working fine with updating and deleting, but the system keeps rejecting it.

Your code so far

test_settings = {
    "theme": "light",
    "notification": "enabled"
}
# Adding setting
def add_setting(settings={}, tuples=()):
    new_key = tuples[0].lower()
    new_value = tuples[1].lower()

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


# print(add_setting({'theme': 'light'}, ('THEME', 'dark')))
# print(add_setting({'theme': 'light'}, ('volume', 'high')))
# add_setting(test_settings,("volume", "high"))


# Updating setting
def update_setting(settings={}, tup=()):
    new_key = tup[0].lower()
    new_value = tup[1].lower()

    for key in settings.keys():
        if key == new_key:
            # settings.update({f"{new_key}": f"{new_value}"})
            settings[new_key] = new_value
            return f"Setting '{new_key}' updated to '{new_value}' successfully!"
        else:
            return f"Setting '{new_key}' does not exist! Cannot update a non-existing setting."


print(test_settings)
print(update_setting(test_settings, ('theme', 'dark')))
print(test_settings)

# print(update_setting({'theme': 'light'}, ('volume', 'high')))

# deleting setting
def delete_setting(settings={}, keys=()):
    new_key = keys.lower()

    for key in settings.keys():
        if key == new_key:
            del settings[f"{new_key}"]
            return f"Setting '{new_key}' deleted successfully!"
        else:
            return f"Setting not found!"
print(test_settings)
print(delete_setting(test_settings, 'Theme'))
print(test_settings)
# print(delete_setting(test_settings, ("theme", "light")))

# viewing settings
def view_settings(settings={}):

    if not settings:
        return f"No settings available."
    else:
        text = ""
        for keys, values in settings.items():
            keys = keys.capitalize()
            text += f"{keys}: {values}\n"
        return f"Current User Settings:\n{text}"


# 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

Try this:

print(update_setting(test_settings, ('notification', 'disabled')))