Build a User Configuration Manager - Build a User Configuration Manager

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

GitHub Link: freeCodeCamp/curriculum/challenges/english/blocks/lab-user-configuration-manager/684aaf9ec670c68d20efd0d0.md at main · freeCodeCamp/freeCodeCamp · GitHub

Hi @theearg15,

If you test like this:

print(repr(view_settings(test_settings)))

you will see that you have two newline characters after the last setting.

Happy coding