字典列表中联系人名称查询的大小写匹配与格式修正问题
联系人查询问题修复:大小写匹配+格式输出
问题1:大小写不匹配的修复
原代码用严格字符串相等判断,导致小写输入无法匹配大写名称。只需要把输入名称和字典中的名称统一转成小写(或大写)再比较即可:
def findContactsByName(name): target_name = name.lower() return [element for element in contacts if element['name'].lower() == target_name]
问题2:输出格式的修复
原函数直接打印列表结构,需要遍历查询结果,逐个输出每个联系人的字段,每个联系人之间留空行:
def displayContactsByName(name): contacts_found = findContactsByName(name) for contact in contacts_found: for key, value in contact.items(): print(f"{key} : {value}") print() # 分隔不同联系人
完整调用逻辑
原有调用部分无需改动,现在输入joe或Joe都能匹配对应联系人,输出格式完全符合期望:
if inp == 3: print("Item 3 was selected: Find contact") name = input("Enter name of contact to find: ") displayContactsByName(name)
测试输入joe时,输出示例:
name : Joe surname : Miceli DOB : 25/06/2002 mobileNo : 79444425 locality : Zabbar name : Joe surname : Bruh DOB : 12/12/2131 mobileNo : 77777777 locality : gozo
内容的提问来源于stack exchange,提问作者Wild Alex
相关产品推荐
相关产品推荐

