My delete_settings function is the only thing left that’s giving me problems. I’m not sure what to do.
Your code so far
test_settings = {
"theme": "dark",
"notifications": "enabled",
"volume": "high"
}
def add_setting(test_settings, new_pair):
key = str(new_pair[0]).lower()
value = str(new_pair[1]).lower()
if key in test_settings:
return f"Setting '{key}' already exists! Cannot add a new setting with this name."
else:
test_settings.update({key: value})
return f"Setting '{key}' added with value '{value}' successfully!"
def update_setting(test_settings, new_pair):
key = str(new_pair[0]).lower()
value = str(new_pair[1]).lower()
if key in test_settings:
test_settings.update({key: value})
return f"Setting '{key}' updated to '{value}' successfully!"
else:
return f"Setting '{key}' does not exist! Cannot update a non-existing setting."
def delete_setting(test_settings, new_pair):
key = str(new_pair[0]).lower()
if key and value in test_settings:
test_settings.pop(key, value)
return f"Setting '{key}' deleted successfully!"
else:
return "Setting not found!"
def view_settings(test_settings):
if not test_settings:
return "No settings available."
header = ["Current User Settings:"]
for key, value in test_settings.items():
header.append(f"{key.capitalize()}: {value.lower()}")
return "\n".join(header) + "\n"
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/148.0.0.0 Safari/537.36
Challenge Information:
Build a User Configuration Manager - Build a User Configuration Manager
When I run the tests on your code, I see “Your code raised an error before any tests could run. Please fix it and try again.” Did you check your browser’s console to see what the error is?
add print(delete_setting({'theme': 'light'}, 'theme')) to test your function, it’s from test 19 that is one of the failing ones that is raising an error
I managed to stop getting errors but I’m stuck again.
Your code so far
test_settings = {
"theme": "dark",
"notifications": "enabled",
"volume": "high"
}
def add_setting(test_settings, new_pair):
key = str(new_pair[0]).lower()
value = str(new_pair[1]).lower()
if key in test_settings:
return f"Setting '{key}' already exists! Cannot add a new setting with this name."
else:
test_settings.update({key: value})
return f"Setting '{key}' added with value '{value}' successfully!"
def update_setting(test_settings, new_pair):
key = str(new_pair[0]).lower()
value = str(new_pair[1]).lower()
if key in test_settings:
test_settings.update({key: value})
return f"Setting '{key}' updated to '{value}' successfully!"
else:
return f"Setting '{key}' does not exist! Cannot update a non-existing setting."
def delete_setting(test_settings, new_pair):
key = new_pair[0].lower()
value = new_pair[1].lower()
if key and value in test_settings:
test_settings.pop(key, value)
return f"Setting '{key}' deleted successfully!"
else:
return "Setting not found!"
def view_settings(test_settings):
if not test_settings:
return "No settings available."
header = ["Current User Settings:"]
for key, value in test_settings.items():
header.append(f"{key.capitalize()}: {value.lower()}")
return "\n".join(header) + "\n"
print(delete_setting({'theme': 'light'}, 'theme'))
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/148.0.0.0 Safari/537.36
Challenge Information:
Build a User Configuration Manager - Build a User Configuration Manager
You are treating the parameter new_pair as though it’s a tuple, but you are only passing in a key. There is no need for a value in this function because pop() only requires the key.