Tell us what’s happening:
So, I’m super closed to being done. It’s just that for some reason on the view_settings() function the test cases say that I didn’t format the return string correctly and says that it should end in a new line character even though it looks exactly the same as what it should? Everything else is correct tho
Your code so far
current_settings = {
"theme": "dark",
"notifications": "enabled",
"volume": "high"
}
test_settings = {
"Theme": "light",
"Notificatiosn": "disabled",
"Volume": "Medium"
}
#settings paramater is the dictionary created, key_value is the values added
def add_setting(settings, key_value):
#converts settings parameter key to lowercase
settings_keys= []
for key in settings.keys():
settings_keys.append(key)
#converts key_value's key in to lowercase:
lowered_key = key_value[0].lower()
#converts key_value's value in to lowercase:
lowered_value = key_value[1].lower()
#checks if "settings" parameter key exists
for i in range(len(settings_keys)):
if lowered_key == settings_keys[i]:
return f"Setting '{key_value[0].lower()}' already exists! Cannot add a new setting with this name."
settings[lowered_key.lower()] = key_value[1].lower()
return f"Setting '{key_value[0].lower()}' added with value '{key_value[1].lower()}' successfully!"
def update_setting(settings,key_value):
#convert's the key of the key value into lowercase
lowered_key = key_value[0].lower()
#convert's the value of the key value into lower case
lowered_value = key_value[1].lower()
#converts settings parameter key to lowercase
settings_keys= []
for key in settings.keys():
settings_keys.append(key)
for i in range(len(settings_keys)):
if lowered_key == settings_keys[i]:
settings[lowered_key] = lowered_value
return f"Setting '{lowered_key}' updated to '{lowered_value}' successfully!"
return f"Setting '{lowered_key}' does not exist! Cannot update a non-existing setting."
def delete_setting(settings, key):
#convert's the key of the key value into lowercase
lowered_key = key.lower()
#converts settings parameter key to lowercase
settings_keys= []
for key in settings.keys():
settings_keys.append(key)
for i in range(len(settings_keys)):
if lowered_key == settings_keys[i]:
del settings[lowered_key]
return f"Setting '{lowered_key}' deleted successfully!"
return "Setting not found!"
def view_settings(settings):
if len(settings) == 0:
return "No settings available."
#Gets the keys
settings_keys= []
for key in settings.keys():
settings_keys.append(key)
settings_values = []
for value in settings.values():
settings_values.append(value)
string = ""
for i in range(len(settings)):
string += f"{settings_keys[i].capitalize()}: {settings_values[i]} \n"
return f"Current User Settings\n{string}"
print(view_settings(current_settings))
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0
Challenge Information:
Build a User Configuration Manager - Build a User Configuration Manager


