Im on the last challenges 25, and 27, everything appears to be outputting correctly, does anyone have any details as to what these challenges are actually expecting because its sort of vague and to me it looks like its outputting perfectly.
challenges:
-
Failed:25.
view_settingsshould return formatted settings for non-empty dictionary. -
Failed:27.
view_settingsshould display the correct results and end with a newline character.
# a test dictionary of a users settings
test_settings = {
'theme': 'light',
'notifications': 'enabled',
'volume': 'high'
}
# a list of available settings
setting_list = ('theme', 'notifications', 'volume')
# adding a new user setting
def add_setting(test_settings, setting_new):
# convert the key and value to lowercase
key, value = setting_new
key = key.lower()
value = value.lower()
# check if the setting already exists and perform action
if key in test_settings:
return f"Setting '{key}' already exists! Cannot add a new setting with this name."
else:
test_settings[key] = value
return f"Setting '{key}' added with value '{value}' successfully!"
# updating user setting
def update_setting(test_settings, setting_new):
# convert the key and value to lowercase
key, value = setting_new
key = key.lower()
value = value.lower()
# check if the setting exists and perform action
if key in test_settings:
test_settings[key] = value
return f"Setting '{key}' updated to '{value}' successfully!"
else:
return f"Setting '{key}' does not exist! Cannot update a non-existing setting."
#delete user setting
def delete_setting(test_settings, setting_new):
# convert the key and value to lowercase
key = setting_new
key = key.lower()
# check if the setting exists and perform action
if key in test_settings:
del test_settings[key]
return f"Setting '{key}' deleted successfully!"
else:
return f"Setting not found!"
#view user settings
def view_settings(test_settings):
# format contents of non-empty dictionary
if not test_settings:
return f"No settings available."
else:
display_settings = ("Current user settings:""\n")
for key, value in test_settings.items():
setting = f"{key.capitalize()}: {value.lower()}" + "\n"
display_settings += setting
return display_settings
# add_setting test
add_setting({'theme': 'light'}, ('THEME', 'dark'))
# update_setting test
update_setting({'theme': 'light'}, ('theme', 'dark'))
# delete_setting test
delete_setting({'theme': 'light'}, 'theme')
# view_setting test
view_settings(test_settings)
print(repr(view_settings(test_settings)))
print(view_settings(test_settings))
the console output looks like this:
'Current user settings:\nTheme: light\nNotifications: enabled\nVolume: high\n'
Current user settings:
Theme: light
Notifications: enabled
Volume: high