用字典建立一个空的通讯录,通过键盘输入向字典中添加通讯人(名字、电话、邮箱、工作单位等)从而构成有多个联系人(至少2人)的通讯录,能够查询、删除或修改某个人的信息,最后能输出通讯录中所有人的信息。python
时间: 2024-11-03 22:12:27 浏览: 45
在Python中,我们可以使用字典来创建一个简单的通讯录,因为字典非常适合存储键值对数据,如姓名作为键,其他个人信息作为对应的值。下面是一个示例程序,展示了如何实现这个功能:
```python
class AddressBook:
def __init__(self):
self.contacts = {}
# 添加新的联系人
def add_contact(self, name, phone, email, workplace):
self.contacts[name] = {
'phone': phone,
'email': email,
'workplace': workplace
}
# 查询联系人信息
def search_contact(self, name):
if name in self.contacts:
return self.contacts[name]
else:
print(f"未找到'{name}'的记录")
# 删除联系人
def delete_contact(self, name):
if name in self.contacts:
del self.contacts[name]
print(f"已成功删除{name}的记录")
else:
print(f"未找到'{name}'的记录,无法删除")
# 修改联系人信息
def update_contact(self, name, new_phone=None, new_email=None, new_workplace=None):
if name in self.contacts:
if new_phone:
self.contacts[name]['phone'] = new_phone
if new_email:
self.contacts[name]['email'] = new_email
if new_workplace:
self.contacts[name]['workplace'] = new_workplace
print(f"{name}的信息已更新")
else:
print(f"未找到'{name}'的记录,无法修改")
# 输出所有联系人信息
def display_contacts(self):
for name, info in self.contacts.items():
print(f"姓名:{name}\n电话:{info['phone']}\n邮箱:{info['email']}\n工作单位:{info['workplace']}\n")
# 使用示例
address_book = AddressBook()
address_book.add_contact("张三", "13812345678", "zhangsan@example.com", "ABC公司")
address_book.add_contact("李四", "13987654321", "lisi@example.com", "XYZ公司")
# 查询和操作特定联系人
print(address_book.search_contact("张三"))
address_book.update_contact("张三", new_phone="13912345678")
address_book.delete_contact("李四")
# 显示全部联系人
address_book.display_contacts()
```
在这个例子中,我们定义了一个`AddressBook`类,包含了添加、查询、删除和修改联系人信息的方法,以及显示所有联系人信息的功能。
阅读全文