Tell us what’s happening:
My code isn’t passing test 27: view_settings should display the correct results and end with a newline character. I have ended the string on line 47 with a newline character and it is displaying the correct results. But is still not passing the test. How can I fix this?
Your code so far
test_settings = {
'theme': 'light',
'notifications': 'off',
'volume': 'low',
'music': 'on',
'difficulty': 'hard',
'level': '15'
}
def add_setting(setting, new_setting):
key, value = new_setting
key = key.lower()
value = value.lower()
if key in setting:
return f'Setting \'{key}\' already exists! Cannot add a new setting with this name.'
else:
setting[key] = value
return f'Setting \'{key}\' added with value \'{value}\' successfully!'
def update_setting(setting, update):
key, value = update
key = key.lower()
value = value.lower()
if key in setting:
setting[key] = value
return f'Setting \'{key}\' updated to \'{value}\' successfully!'
if key not in setting:
return f'Setting \'{key}\' does not exist! Cannot update a non-existing setting.'
def delete_setting(setting, key):
key = key.lower()
if key in setting:
setting.pop(key)
return f'Setting \'{key}\' deleted successfully!'
else:
return 'Setting not found!'
def view_settings(setting):
if len(setting) == 0:
return 'No settings available.'
else:
to_view = ''
for key, value in setting.items():
to_view += f'{key.capitalize()}: {value.lower()}\n'
return f'Current User Settings:\n{to_view}\n'
print(add_setting(test_settings, ('Player name', 'Hawthorne')))
print(update_setting(test_settings, ('level', '20')))
print(delete_setting(test_settings, 'music'))
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/149.0.0.0 Safari/537.36
Challenge Information:
Build a User Configuration Manager - Build a User Configuration Manager