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