Build a user configuration manager
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
def add_setting(dictionary, setting):
key, value = setting
key = key.lower()
value = value.lower()
if dictionary.get(key, None) is None:
dictionary[key] = value
return f"Setting '{key}' added with value '{value}' successfully!"
return f"Setting '{key}' already exists! Cannot add a new setting with this name."
def update_setting(dictionary, setting):
key, value = setting
key = key.lower()
value = value.lower()
if dictionary.get(key, None) is None:
return f"Setting '{key}' does not exist! Cannot update a non-existing setting."
dictionary[key] = value
return f"Setting '{key}' updated to '{value}' successfully!"
def delete_setting(dictionary, key):
key = key.lower()
if dictionary.get(key, None) is None:
return "Setting not found!"
dictionary.pop(key)
return f"Setting '{key}' deleted successfully!"
def view_settings(dictionary):
if len(dictionary) == 0:
return "No settings available."
settings_formatted = "\n".join([f"{key.capitalize()}: {value}" for key, value in dictionary.items()])
return f"Current User Settings:\n{settings_formatted}\n"
print(add_setting({'theme': 'light'}, ('THEME', 'dark')))
print(add_setting({'theme': 'light'}, ('volume', 'high')))
print(update_setting({'theme': 'light'}, ('theme', 'dark')))
print(update_setting({'theme': 'light'}, ('volume', 'high')))
print(delete_setting({'theme': 'light'}, 'theme'))
print(delete_setting({'theme': 'light'}, 'date'))
print(view_settings({'theme': 'dark', 'notifications': 'enabled', 'volume': 'high'}))
Python
INFO