我正在尝试更新给定列表/词典中的年龄,但是我的名字和姓氏参数出现关键错误,我们将不胜感激。
TotalFlow 1500.0000
它应该能够通过这些测试
def create_contacts_collection():
contacts = {}
return contacts
def add_contact(contacts, first_name, last_name, email, phone_number, age):
contacts[first_name, last_name] = [email, phone_number, age]
def has_contact(contacts, first_name, last_name):
if (first_name, last_name) in contacts:
return True
else:
return False
def get_contact_age(contacts, first_name, last_name):
if has_contact(contacts, first_name, last_name):
return contacts[(first_name, last_name)][2]
def update_contact_age(contacts, first_name, last_name, age):
contacts[(first_name, last_name)][2] = age
if update_contact_age == get_contact_age:
return False
else:
return True
这与test_get_contact_email,test_get_contact_phone_number的概念相同。
def test_add_contact():
contacts = create_contacts_collection()
len_before_adding = len(contacts)
add_contact(contacts, 'Ben', 'Jerryson', 'bjer@ice.crm', '555-267-8301',
31)
len_after_adding = len(contacts)
show_results("add_contact() test 1",
len_before_adding == 0 and len_after_adding > 0)
def test_has_contact():
contacts = create_contacts_collection()
add_contact(contacts, 'Ben', 'Jerryson', 'bjer@ice.crm', '555-267-8301',
31)
show_results("has_contact() test 1",
has_contact(contacts, 'Ben', 'Jerryson') == True)
show_results("has_contact() test 2",
has_contact(contacts, 'Jen', 'Berryson') === False)
def test_get_contact_age():
contacts = create_contacts_collection()
add_contact(contacts, 'Ben', 'Jerryson', 'bjer@ice.crm', '55-267-8301',
31)
show_results("get_contact_age() test 1",
get_contact_age(contacts, 'Ben', 'Jerryson') == 31)
show_results("get_contact_age() test 2",
get_contact_age(contacts, 'Jen', 'Berryson') == None)
然后使用相同的概念来表示test_update_contact_email和test_update_contact_phone_number。
它能够通过所有其他测试,除了两个 def test_update_contacts_age测试
答案 0 :(得分:0)
尝试一下,一切正常
def create_contacts_collection():
contacts = {}
return contacts
def add_contact(contacts, first_name, last_name, email, phone_number, age):
contacts[first_name, last_name] = [email, phone_number, age]
def has_contact(contacts, first_name, last_name):
if (first_name, last_name) in contacts:
return True
else:
return False
def get_contact_age(contacts, first_name, last_name):
if has_contact(contacts, first_name, last_name):
return contacts[(first_name, last_name)][2]
def update_contact_age(contacts, first_name, last_name, age):
contacts[(first_name, last_name)][2] = age
if update_contact_age == get_contact_age:
return False
else:
return True
w = create_contacts_collection()
add_contact(w,"abcd","efgh","a@b.com","0123","21")
print(has_contact(w,"abcd","efgh"))
print(get_contact_age(w,"abcd","efgh"))
update_contact_age(w,"abcd","efgh",80)
print(has_contact(w,"abcd","efgh"))
# OUTPUT
True
21
True
如果您尝试更新联系人中的姓名或姓氏,则会收到错误消息,因为您已基于该字段存储了联系人,并且在更新时尝试查找不存在的新联系人。否则,如果您要更新联系年龄,则可以正常工作。